java多线程
2020-09-15 15:27:51 5 举报
多线程的运行流程
作者其他创作
大纲/内容
方法区
waitSet
owner
线程2 进入run方法中运行
保存线程获得锁的次数+1
monitorexit
线程2 也需要进入方法但由于线程1在某种因素下堵塞,所以后方线程一直处于堵塞排队状态。
TIMED_WAITING
终止
程序计数器 PC
synchronized中monitor才是真正的锁
TERMINATED
唤醒wait中的线程
线程4
BLOCKED
线程3
堵塞
main线程栈
调用notify方法唤醒线程并加入排队
获得当前进入锁的线程
NEW
核心
method线程栈
WAITING
线程栈
CPU
运行完成会释放
加入wait等待线程
将当前线程放入wait方法中进行等待解决问题。
EntryList
new 对象
recursions
cpu
当前线程进入运行时,由于因某些因素而就绪未完成。造成堵塞
线程1
java线程的6种状态
多线程的运行方式
RUNNABLE
调用wait方法进入等待
method
清空
创建
等待
线程3 进入run方法中运行
monitor
堆
超时等待
wait() notify() 实例
运行
-1 置为0 释放线程
0 条评论
下一页