如何停止java线程
如何停止java的线程一直是一个困恼我们开发多线程程序的一个问题。这个问题最终在Java5的java.util.concurrent中得到了回答:使用interrupt(),让线程在run方法中停止。 简介 在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。通过这些方法,我们可以对线程进行方便的操作,但是这些方法中,只有start()方法得到了保留。 在Sun公司的一篇文章《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》中详细讲解了舍弃这些方法的原因。那么,我们究竟应该如何停止线程呢? 建议使用的方法 在《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》中,建议使用如下的方法来停止线程: 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阻塞,可能是文件或者网络等等。 当线程处于上述的状态时,使用前面介绍的方法就不可用了。这个时候,我们可以
相关文档:
多线程是java的一个优势,java使得程序员可以很方便的进行多线程程序开发。获得更好的性能。
关于多线程的概念以及一般的多线程编程,比如如何以及为何实现runnable接口,为何stop()会被Deprecated掉等等,这个请看matrix之前的多线程编程基础或者sun的java文档。
关于多线程编程,有几点这里要提到的:
1。既然stop( ......
原文链接:http://java.csdn.net/index.php/2009/09/01/java%e5%bc%80%e5%8f%91%e8%80%85%e6%9c%80%e5%b8%b8%e5%8e%bb%e7%9a%8420%e4%b8%aa%e8%8b%b1%e6%96%87%e7%bd%91%e7%ab%99/
JAVA开发者最常去的20个英文网站
1.[http://www.javaalmanac.com] – Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法 ......
Java EE 6中最引人注目的改进要算Web层的展示了,正如前面提到的Java EE 6的一个重要目标就是提高可扩展性,在可扩展性方面两个关键改进分别是Web分片和可插拔性共享框架,这两个新特性是通过Java EE 6中的Servlet 3.0技术提供的。Servlet 3.0,JSR 315规范是Servlet技术的最新版本,它提供了诸如支持异步处 ......
近初步接触了下Java加密和数字签名的相关内容,我学习的过程大概分五步:
1)消息摘要
2)私钥加密
3)公钥加密
4)数字签名
5) 数字证书
下面的代码是第二部分:私钥加密
希望能为刚刚接触这个的朋友们省点事
package security;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import ......