真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java如何停止一個線程

小編給大家分享一下java如何停止一個線程,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、網(wǎng)站建設(shè)、民和網(wǎng)絡(luò)推廣、小程序開發(fā)、民和網(wǎng)絡(luò)營銷、民和企業(yè)策劃、民和品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供民和建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

如何停止java的線程一直是一個開發(fā)多線程程序常遇到的一個問題。也有好多人問過我,所以今天在這里總結(jié)一下希望可以讓更多的人知道在java中如何安全的結(jié)束一個正在運行的線程。

在Java的多線程編程中,java.lang.Thread類型包含了一些列的方法start(), stop(), stop(Throwable) and suspend(), destroy() and resume()。通過這些方法,我們可以對線程進行方便的操作,但是這些方法中,只有start()方法得到了保留。

在JDK幫助文檔以及Sun公司的一篇文章《Why are Thread.stop, Thread.suspend and Thread.resume Deprecated? 》中都講解了舍棄這些方法的原因。

那么,我們究竟應(yīng)該如何停止線程呢?

用共享變量的方式
在這種方式中,之所以引入共享變量,是因為該變量可以被多個執(zhí)行相同任務(wù)的線程用來作為是否中斷的信號,通知中斷線程的執(zhí)行。

public class ThreadFlag extends Thread 
{ 
    public volatile boolean exit = false; 
 
    public void run() 
    { 
        while (!exit); 
    } 
    public static void main(String[] args) throws Exception 
    { 
        ThreadFlag thread = new ThreadFlag(); 
        thread.start(); 
        sleep(3000); // 主線程延遲3秒 
        thread.exit = true;  // 終止線程thread 
        thread.join(); 
        System.out.println("線程退出!"); 
    } 
}

在上面代碼中定義了一個退出標(biāo)志exit,當(dāng)exit為true時,while循環(huán)退出,exit的默認(rèn)值為false。在定義exit時,使用了一個Java關(guān)鍵字volatile,這個關(guān)鍵字的目的是使exit同步,也就是說在同一時刻只能由一個線程來修改exit的值。

以上是java如何停止一個線程的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


新聞標(biāo)題:java如何停止一個線程
URL地址:http://weahome.cn/article/ggeepi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部