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


Posted in 面试题 onAugust 04, 2015
有两种实现方法,分别是继承Thread类与实现Runnable接口
用synchronized关键字修饰同步方法
反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被”挂起”的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应在自己的Thread类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。

Tags in this post...

面试题 相关文章推荐
JDO的含义
Nov 17 面试题
Java的五个基础面试题
Feb 26 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 面试题
经典c++面试题四
May 14 面试题
Shell编程面试题
May 30 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
Jul 21 面试题
Linux内核产生并发的原因
Nov 08 面试题
Linux常见面试题
Mar 18 面试题
AJAX都有哪些有点和缺点
Nov 03 面试题
Java程序开发中如何应用线程
Mar 03 面试题
Structs界面控制层技术
Oct 11 面试题
J2EE是技术还是平台还是框架
Aug 14 面试题
error和exception有什么区别
Oct 02 #面试题
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
May 24 #面试题
HashMap和Hashtable的区别
May 18 #面试题
Weblogc domain问题
Jan 27 #面试题
Collection和Collections的区别
May 02 #面试题
如何将整数int转换成字串String
Mar 21 #面试题
如何将字串String转换成整数int
Feb 21 #面试题
You might like
为PHP初学者的8点有效建议
2010/11/20 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
功能强大的php文件上传类
2016/08/29 PHP
php添加数据到xml文件的简单例子
2016/09/08 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
基于jQuery的history历史记录插件
2010/12/11 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
2017/03/08 Javascript
探究react-native 源码的图片缓存问题
2017/08/24 Javascript
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
微信小程序图片右边加两行文字的代码
2020/04/23 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
Python中index()和seek()的用法(详解)
2017/04/27 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
HTML5新控件之日期和时间选择输入的实现代码
2018/09/13 HTML / CSS
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
道路建设实施方案
2014/03/18 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
股权转让协议范本
2014/12/07 职场文书
用电申请报告范文
2015/05/18 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
小学思品教学反思
2016/02/20 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
php去除数组中为0的元素的实例分析
2021/11/17 PHP
Win11安装受阻怎么办? Windows11安装问题与解决方案汇总
2021/11/21 数码科技