有关多线程执行的细节问题,求那位兄台可以指点一下

明月夜ll 2015-12-12 11:49:54
疑问:当正在执行的线程释放了对象的同步锁时,在这个同步对象的锁池中的线程会有那些操作?
是在锁池中抢夺对象锁?
或是在同步对象的锁被释放时立即进入就绪状态并抢夺对象锁?
或是执行其他操作?
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_21811305 2015-12-14
  • 打赏
  • 举报
回复
处于可运行状态且在等待对象锁释放的线程进行抢夺
dracularking 2015-12-14
  • 打赏
  • 举报
回复
其它任何等待在对象锁队列上的线程会有其中一个抢夺到对象锁
qq_20062767 2015-12-13
  • 打赏
  • 举报
回复
当线程start之后,就会进入就绪状态,线程和线程之间就会抢夺CPU的时间片,那个线程抢到了时间片,就可以执行程序,第一次抢到时间片就会进入运行状态,其后一直都在运行状态(如果没有特殊操作),但是执行程序的多少是不确定的,所以为了保证事务的安全性,就有了对象锁,对象锁可以控制对象执行完被锁定的代码块,其他线程才可以接着执行,当对象执行完被锁定的代码块之后,就会释放对象锁,此时,各个线程就会抢夺对象锁。
feng939379766 2015-12-13
  • 打赏
  • 举报
回复
在同步对象的锁被释放时立即进入就绪状态并抢夺对象锁

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧