java 得不到锁会执行同步代码块后面的代码吗?
如题,另外一个线程在进入这个方法后,因为得不到锁而无法进入同步代码块,这个时候他会去执行同步代码块后面没有同步的代码吗?例如:publicvoidread(){synch...
如题,另外一个线程在进入这个方法后,因为得不到锁而无法进入同步代码块,这个时候他会去执行同步代码块后面没有同步的代码吗?
例如:
public void read()
{
synchronized(s2)
{
System.out.println(“hello”);
}
System.out.println(“你好”);
}
因为没有锁(被其他线程占用),无法执行hello,那么他会自动执行后面的你好吗?
谢谢了!! 展开
例如:
public void read()
{
synchronized(s2)
{
System.out.println(“hello”);
}
System.out.println(“你好”);
}
因为没有锁(被其他线程占用),无法执行hello,那么他会自动执行后面的你好吗?
谢谢了!! 展开
3个回答
展开全部
当线程执行到synchronized同步块时 会进入对象锁池 在对象锁池中发现对象锁已经被其他线程取走 就会一直在对象锁池中等待 直到取得线程锁的那个对象释放锁后 在对象池中线程取得锁就会返回就绪状态 然后在运行.....
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当然不会啊,你是卡在那里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询