易截截图软件、单文件、免安装、纯绿色、仅160KB

如何停止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的一个优势,java使得程序员可以很方便的进行多线程程序开发。获得更好的性能。
关于多线程的概念以及一般的多线程编程,比如如何以及为何实现runnable接口,为何stop()会被Deprecated掉等等,这个请看matrix之前的多线程编程基础或者sun的java文档。
关于多线程编程,有几点这里要提到的:
1。既然stop( ......

java开发者常去的20个网站

原文链接: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的一个重要目标就是提高可扩展性,在可扩展性方面两个关键改进分别是Web分片和可插拔性共享框架,这两个新特性是通过Java EE 6中的Servlet 3.0技术提供的。Servlet 3.0,JSR 315规范是Servlet技术的最新版本,它提供了诸如支持异步处 ......

java加密和数字签名2 私钥加密

近初步接触了下Java加密和数字签名的相关内容,我学习的过程大概分五步:
1)消息摘要
2)私钥加密
3)公钥加密
4)数字签名
5) 数字证书
下面的代码是第二部分:私钥加密
希望能为刚刚接触这个的朋友们省点事
package security;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号