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


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

Tags in this post...

面试题 相关文章推荐
为什么要优先使用同步代码块而不是同步方法?
Jan 30 面试题
包装类的功能、种类、常用方法
Jan 27 面试题
构造方法和其他方法的区别?怎么调用父类的构造方法
Sep 22 面试题
华为慧通笔试题
Apr 22 面试题
什么是事务?事务有哪些性质?
Mar 11 面试题
触发器(trigger)的功能都有哪些?写出一个触发器的例子
Sep 17 面试题
OLEDBConnection和SQLConnection有什么区别
May 31 面试题
编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的
Jul 23 面试题
系统管理员的职责包括那些?管理的对象是什么?
Sep 20 面试题
介绍一下linux的文件系统
Oct 06 面试题
初始化了一个没有run()方法的线程类,是否会出错?
Mar 27 面试题
三个Unix的命令面试题
Apr 12 面试题
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新手上路(八)
2006/10/09 PHP
PHP 日期加减的类,很不错
2009/10/10 PHP
js实现网站首页图片滚动显示
2013/02/04 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
javascript版2048小游戏
2015/03/18 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Python安装第三方库的3种方法
2015/06/21 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
在CMD命令行中运行python脚本的方法
2018/05/12 Python
Python测试模块doctest使用解析
2019/08/10 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
基于Python的OCR实现示例
2020/04/03 Python
让Django的BooleanField支持字符串形式的输入方式
2020/05/20 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
python如何实现递归转非递归
2021/02/25 Python
idealfit英国:世界领先的女性健身用品和运动衣物品牌
2017/11/25 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
企业治理工作自我评价
2013/09/26 职场文书
应聘教师自荐信
2013/10/12 职场文书
英语专业自荐书
2014/06/13 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
雷锋的观后感
2015/06/10 职场文书
矛盾论读书笔记
2015/06/29 职场文书
护理心得体会范文
2016/01/22 职场文书
小学科学课教学反思
2016/02/23 职场文书
python 中的@运算符使用
2021/05/26 Python