文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。
面试官:阻塞线程的方式有哪些?
参考答案:
当发生如下情况时,线程将会进入阻塞状态:
-
线程调用sleep()方法主动放弃所占用的处理器资源;
-
线程调用了一个阻塞式IO方法,在该方法返回之前,该线程被阻塞;
-
线程试图获得一个同步监视器,但该同步监视器正被其他线程所持有;
-
线程在等待某个通知(notify);
-
程序调用了线程的suspend()方法将该线程挂起,但这个方法容易导致死锁,所以应该尽量避免使用该方法。