首页 > 其他 > 详细

线程安全启动和停止

时间:2014-03-12 03:48:41      阅读:401      评论:0      收藏:0      [点我收藏+]

如何保证只有一个线程在运行,在启动线程的时候停止之前的线程?

实例如下:

bubuko.com,布布扣
 private volatile Thread udpSendThread;
bubuko.com,布布扣

 

线程:

bubuko.com,布布扣
class UdpSender extends Thread {
        @Override
        public void run() {
            if (udpSendThread == null) {
                return;
            }
            // other work
        }
    }
bubuko.com,布布扣

启动线程:

bubuko.com,布布扣
    private void startUdpSender() {
        if (udpSendThread == null || !udpSendThread.isAlive()) {
            udpSendThread = new UdpSender();
            udpSendThread.start();
        }
    }
bubuko.com,布布扣

停止线程:

bubuko.com,布布扣
    private void stopUdpSender() {
        Thread tmpThread = udpSendThread;
        udpSendThread = null;
        if (tmpThread != null) {
            tmpThread.interrupt();
        }
    }
bubuko.com,布布扣

 

链接:http://forward.com.au/javaProgramming/HowToStopAThread.html

线程安全启动和停止,布布扣,bubuko.com

线程安全启动和停止

原文:http://www.cnblogs.com/zhuqiang/p/3594411.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!