多线程流程图
2018-05-02 10:02:54 21 举报
多线程流程图是一种用于描述多个线程之间交互和协作的图形化表示方法。它通常由一系列的节点和箭头组成,每个节点代表一个线程或一个特定的操作,而箭头则表示线程之间的数据传输或控制流。在多线程流程图中,可以使用不同的颜色来区分不同的线程,以帮助读者更清晰地理解线程之间的关系。此外,还可以使用条件判断、循环等结构来模拟复杂的程序逻辑。总之,多线程流程图是一种非常有用的工具,可以帮助程序员更好地理解和设计多线程应用程序。
作者其他创作
大纲/内容
1.线程1获取对象的锁,正在使用对象A
3.线程1释放对象A的锁,进入等待队列
对象
5.线程5获取对象的锁,使用对象A
7.notifyAll()方法所在的synchronized结束,线程5释放对象A的锁
④ ③ ② ①
6.线程5调用A对象的notifyAll()方法唤醒所有等待线程
初始状态
①
⑤
②
OS调度选中
等待用户输入Thread.sleep()t2.join()I/O请求
o.wait()
Thread
拿到对象的锁标记
run()结束main()结束
⑥ ④ ③ ② ①
o.notify()o.notifyAll()wait时间按到
synchronized
运行中
阻塞状态
4.锁池里面的线程争抢对象锁
线程
锁池状态
2.线程1调用对象A的wait()方法
t.start()
⑥
NEW
等待队列
⑥ ⑤
④ ③ ②
TERMINATED
RUNNABLE
BLOCKED
时间片用完Thread.yield()
new Thread()
等待状态
锁池
用户输入结束sleep结束join的线程结束I/O处理完毕时
对象锁
8.锁池里面的线程争抢对象锁,但那个线程抢到就不知道了。
结束
可运行
0 条评论
回复 删除
下一页