365充值真人注册-super365体育官网下载-365bet体育开户

【多线程面试题十二】、阻塞线程的方式有哪些?

【多线程面试题十二】、阻塞线程的方式有哪些?

【多线程面试题十二】、阻塞线程的方式有哪些?

2024-08-21

250

版权

版权声明:

本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《

阿里云开发者社区用户服务协议》和

《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写

侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

简介:

线程阻塞的方式包括调用sleep()方法、阻塞式IO操作、等待同步监视器的获取、等待通知(notify),以及慎用的suspend()方法。

面试官:阻塞线程的方式有哪些?**

参考答案:

当发生如下情况时,线程将会进入阻塞状态:

线程调用sleep()方法主动放弃所占用的处理器资源;

线程调用了一个阻塞式IO方法,在该方法返回之前,该线程被阻塞;

线程试图获得一个同步监视器,但该同步监视器正被其他线程所持有;

线程在等待某个通知(notify);

程序调用了线程的suspend()方法将该线程挂起,但这个方法容易导致死锁,所以应该尽量避免使用该方法。

相关推荐