java中,为什么弃用stop和suspend方法
2016-02-25 14:50
351 查看
一、stop和suspend方法作用
它们是Thread类的方法stop:用来终止一个线程
suspend:用来阻塞一个线程直至另一个线程调用resume
二、弃用原因
stop天生就不安全,经验证明suspend经常导致死锁1、stop弃用
它终止未结束的方法(包括run方法),这会导致对象处于不一致状态。
例:从一个账户向另一个账户转账的过程中被终止,钱已经转出,但没有输入目标账户。
当线程要终止另一个线程时,无法知道什么时候调用stop是安全的,什么时候导致对象被破坏,因此,stop弃用
2、suspend弃用
如果用suspend挂起一个持有锁的线程,挂起,锁仍占用。
如果调用suspend方法的线程试图获得同一个锁,会有死锁。
相关文章推荐
- Java 使用jxls导出小数据量excel文件
- Java操作FTP(1)
- JAVA SPRING CXF集成创建WebService服务
- Java异常原因及解决方法汇总一
- 高效Java编程工具集锦
- JAVA简易WEB服务器(四)
- Spring MVC 4 Quickstart Maven Archetype(代码在我上传的资源有)
- Java 设计模式—工厂模式(三种方式)
- 【项目管理】之springMVC+spring+Mybatis环境搭建
- 基于Spring+Mybatis的多数据源动态切换
- Android studio导入eclipse项目
- java swing中两种添加背景图片的方法
- 如何实现javabean的属性拷贝
- [需要补充]javaEE中servlet方法service与doXXX的关系
- JAVA_继承演示04_FoodManagerDeamo.java____补充
- JAVA_继承演示04_FoodManagerDeamo.java____补充
- JDK API
- Java开发框架思考
- Spring之——quartz集群的问题及解决方案(基于Spring4.0+quartz2.2.1的集群架构)
- Java中的多态