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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 闫镜湾 中级黑马   /  2014-5-23 14:57  /  3388 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

3 个回复

倒序浏览
两种方法实现线程,1继承Thread类重写run方法2实现Runnable接口
回复 使用道具 举报
两种方法实现线程,1继承Thread类重写run方法2实现Runnable接口
用synchronized修饰同步方法
stop方法结束所有未结束的方法等于说kill一个线程
建议你参考http://blog.csdn.net/tom_221x/article/details/3248154
回复 使用道具 举报
stop()方法过时了,为什么不用了呢 ?他不安全    它的作用就是杀线程,为什么要杀线程。我们应该追本溯源的去解决,这样强制停止反而可能造成系统出错。
所以建议的解决方法应该是尽量去解决问题,不让问题产生,对于产生的具体问题在具体解决。

如何停止线程?   只有一种,run方法结束。开启多线程运行,运行代码通常是循环结构。
只要控制住循环,就可以让run方法结束,也就是线程结束。

特殊情况: 当线程处于了冻结状态。 就不会读取到标记。那么线程就不会结束。

当没有指定的方式让冻结的线程恢复到运行状态是,这时需要对冻结进行清除。
强制让线程恢复到运行状态中来。这样就可以操作标记让线程结束。

Thread类提供该方法 interrupt(); 它不会中止一个正在运行的程序,在线程受到阻塞时抛出一个中断信号,这样线程就得以退出阻塞的状态。
当在I/O操作里面出现阻塞时,可能退不出阻塞,比如网络问题,JAVA还有专门的方法

评分

参与人数 1技术分 +1 收起 理由
轻语。 + 1

查看全部评分

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