仓酷云
标题:
了解下JAVA的怎样中断java线程
[打印本页]
作者:
乐观
时间:
2015-1-18 11:11
标题:
了解下JAVA的怎样中断java线程
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
简介
在Java的多线程编程中,java.lang.Thread范例包括了一些列的办法start(),stop(),stop(Throwable)andsuspend(),destroy()andresume()。经由过程这些办法,我们能够对线程举行便利的操纵,可是这些办法中,只要start()办法失掉了保存。
在Sun公司的一篇文章《WhyareThread.stop,Thread.suspendandThread.resumeDeprecated?》中具体解说了舍弃这些办法的缘故原由。那末,我们事实应当怎样中断线程呢?
倡议利用的办法
在《WhyareThread.stop,Thread.suspendandThread.resumeDeprecated?》中,建议利用以下的办法来中断线程:
private volatile Thread blinker;
public void stop() {
blinker = null;
}
public void run() {
Thread thisThread = Thread.currentThread();
while (blinker == thisThread) {
try {
thisThread.sleep(interval);
} catch (InterruptedException e){
}
repaint();
}
}
关于利用volatile关头字的缘故原由,请检察http://java.sun.com/docs/books/jls/second_edition/html/classes.doc.html#36930。
当线程处于非运转(Run)形态
当线程处于上面的情况时,属于非运转形态:
* 当sleep办法被挪用。
*当wait办法被挪用。
*当被I/O堵塞,多是文件大概收集等等。
当线程处于上述的形态时,利用后面先容的办法就不成用了。这个时分,我们可使用interrupt()来冲破堵塞的情形,如:
public void stop() {
Thread tmpBlinker = blinker;
blinker = null;
if (tmpBlinker != null) {
tmpBlinker.interrupt();
}
}
<p>
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。
作者:
山那边是海
时间:
2015-1-20 16:23
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者:
兰色精灵
时间:
2015-1-21 21:02
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者:
老尸
时间:
2015-1-29 12:52
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者:
再见西城
时间:
2015-2-6 01:03
是一种突破用户端机器环境和CPU
作者:
蒙在股里
时间:
2015-2-6 15:00
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者:
冷月葬花魂
时间:
2015-2-16 17:59
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者:
愤怒的大鸟
时间:
2015-3-12 00:21
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者:
灵魂腐蚀
时间:
2015-3-19 16:56
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
作者:
不帅
时间:
2015-3-29 03:38
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2