A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多线程并发访问一段代码,给这段代码加上同步synchronized,如果再在这段代码中让线程sleep一段时间,那么在这段时间,其他线程会进入到这段同步代码中吗?比如a,b,c,d四个线程并发访问同步代码区,a抢到执行权,b、c、d进阻塞队列,a执行到线程sleep的这段时间,b、c、d会可能抢到执行权吗

2 个回复

倒序浏览
不会,a有执行权,但是你使用了同步机制,那么你的线程将会处于睡眠死锁的状态,不唤醒的话你的线程是不会继续运行的,这是我的理解,希望对你有帮助
回复 使用道具 举报
gaoming971366 发表于 2015-7-22 11:24
不会,a有执行权,但是你使用了同步机制,那么你的线程将会处于睡眠死锁的状态,不唤醒的话你的线程是不会 ...

谢谢,我看了API上对sleep方法的解释,说是该线程不丢失任何监视器的所属权。我感觉也是这个意思
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马