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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 靳石磊 中级黑马   /  2013-1-22 18:12  /  1929 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

新建一个线程,在线程内执行一个具有死循环的方法,会阻塞这个线程,除了死循环会阻塞线程外,还有其他哪些情况会阻塞线程?

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

4 个回复

倒序浏览
Thread.Interrupt():中止处于 Wait或者Sleep或者Join 线程状态的线程;

Thread.Join():阻塞调用线程,直到某个线程终止时为止

Thread.Sleep():将当前线程阻塞指定的毫秒数;

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
只要你是控制线程 等待切不 释放锁的都算阻塞吧~~
两个线程互相调用也是,就像死锁。
wait ,sleep,常用啊~~

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
Thread  th = new Thread();
th.IsBackground = true;  
将它设置为后台线程即可   前台线程阻塞当前线程  后台线程不阻塞当前线程

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
出现了同步锁的嵌套,死锁现象也会导致该问题发生
可以通过标识(boolean flag)来改变,利用Thread.Interrupt():清除冻结状态来
对线程进行控制。

评分

参与人数 1技术分 +1 收起 理由
潘梦军 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马