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


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

Tags in this post...

面试题 相关文章推荐
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
Sep 08 面试题
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
如何将字串String转换成整数int
Feb 21 面试题
super关键字的用法
Apr 10 面试题
C++:memset ,memcpy和strcpy的根本区别
Apr 27 面试题
为什么UNION ALL比UNION快
Mar 17 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
介绍一下Linux内核的排队自旋锁
Aug 27 面试题
介绍一下EJB的分类及其各自的功能及应用
Aug 23 面试题
如何写出高质量、高性能的MySQL查询
Nov 17 面试题
介绍一下Java中的static关键字
May 12 面试题
JSP&Servlet技术面试题
May 21 面试题
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实现服务器状态监控的方法
2014/12/09 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
经常用的图片在容器中的水平垂直居中实例
2007/06/10 Javascript
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
JavaScript 学习笔记(四)
2009/12/31 Javascript
js二维数组排序的简单示例代码
2014/01/24 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
jquery的 filter()方法使用教程
2018/03/22 jQuery
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
vue中tab选项卡的实现思路
2018/11/25 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
[15:57]教你分分钟做大人:斧王
2014/10/30 DOTA
Python查找第n个子串的技巧分享
2018/06/27 Python
python实现网页自动签到功能
2019/01/21 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
2019/11/06 Python
中海讯通笔试题
2015/09/15 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
保卫科工作岗位职责
2014/03/01 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
禁毒主题班会教案
2015/08/14 职场文书
如何理解及使用Python闭包
2021/06/01 Python
opencv读取视频并保存图像的方法
2021/06/04 Python
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python