欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java語言多線程終止中的守護(hù)線程實(shí)例

 更新時(shí)間:2017年12月29日 14:20:34   作者:chance_66  
這篇文章主要介紹了Java語言多線程終止中的守護(hù)線程實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下

Java中線程分為兩種類型:用戶線程和守護(hù)(服務(wù))線程。通過Thread.setDaemon(false)設(shè)置為用戶線程;通過Thread.setDaemon(true)設(shè)置為守護(hù)線程;不設(shè)置則默認(rèn)為用戶線程。

結(jié)束單線程用 Thread.interrupt() 方法,多線程結(jié)束則需要設(shè)置守護(hù)線程。當(dāng)不存在用戶線程時(shí),守護(hù)線程就會(huì)全部終結(jié)(可以理解為:守護(hù)線程是服務(wù)線程,用戶線程是被服務(wù)線程,用戶線程(被服務(wù)線程)全都沒有了,服務(wù)線程便沒有存在意義而自動(dòng)終結(jié))

例子:

class StopThread implements Runnable {
	public void run() {
		// 構(gòu)造函數(shù),實(shí)例化時(shí)默認(rèn)執(zhí)行
		while (true) {
			// 永真循環(huán),用于檢測(cè)該守護(hù)線程會(huì)不會(huì)自動(dòng)結(jié)束
			System.out.println(Thread.currentThread().getName() + "....run");
		}
	}
}
public class threadTest {
	public static void main(String[] args) {
		StopThread st = new StopThread();
		Thread t1 = new Thread(st);
		// 創(chuàng)建新線程
		Thread t2 = new Thread(st);
		t1.setDaemon(true);
		// 設(shè)置成守護(hù)(服務(wù))線程,當(dāng)用戶線程全掛時(shí),所有守護(hù)線程也跟著掛
		t2.setDaemon(true);
		t1.start();
		// 線程開始
		t2.start();
		int num = 0;
		while (true) {
			if (num++ == 10) {
				break;
			}
			System.out.println(Thread.currentThread().getName() + "......." + num);
		}
		System.out.println("over");
	}
}

當(dāng)執(zhí)行完最后一句 System.out.println(“over”) 時(shí),用戶線程(主程序)結(jié)束;在后臺(tái)永真循環(huán)里 不斷輸出信息的兩個(gè)守護(hù)線程 也會(huì)自動(dòng)終止。

另外介紹一個(gè)常見的問題:Java里面 所有非守護(hù)線程結(jié)束后,所有的守護(hù)線程自動(dòng)退出這句話對(duì)嗎?

參考答案:

守護(hù)線程的唯一作用是為其他線程提供服務(wù).當(dāng)只剩下守護(hù)線程時(shí),虛擬機(jī)就退出了”(出自:java核心技術(shù)),現(xiàn)在非守護(hù)的沒有了,也就不需要守護(hù)來提供服務(wù)了。

總結(jié)

以上就是本文關(guān)于Java語言多線程終止中的守護(hù)線程實(shí)例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!

相關(guān)文章

  • IntelliJ?IDEA?2020.2.3永久破解激活教程(親測(cè)有效)

    IntelliJ?IDEA?2020.2.3永久破解激活教程(親測(cè)有效)

    intellij?idea?2022是一款市面上最好的JAVA?IDE編程工具,該工具支持git、svn、github等版本控制工具,整合了智能代碼助手、代碼自動(dòng)提示等功能,本教程給大家分享IDEA?2022最新永久激活碼,感興趣的朋友參考下吧
    2020-10-10
  • java web實(shí)現(xiàn)簡(jiǎn)單聊天室

    java web實(shí)現(xiàn)簡(jiǎn)單聊天室

    這篇文章主要為大家詳細(xì)介紹了java-web實(shí)現(xiàn)簡(jiǎn)單聊天室,含拍一拍功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 深入講解SpringBoot Actuator是什么

    深入講解SpringBoot Actuator是什么

    Spring Boot Actuator提供了生產(chǎn)上經(jīng)常用到的功能(如健康檢查,審計(jì),指標(biāo)收集,HTTP跟蹤等),幫助我們監(jiān)控和管理Spring Boot應(yīng)用程序。這些功能都可以通過JMX或HTTP端點(diǎn)訪問
    2023-01-01
  • 劍指Offer之Java算法習(xí)題精講數(shù)組與列表的查找及字符串轉(zhuǎn)換

    劍指Offer之Java算法習(xí)題精講數(shù)組與列表的查找及字符串轉(zhuǎn)換

    跟著思路走,之后從簡(jiǎn)單題入手,反復(fù)去看,做過之后可能會(huì)忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會(huì)發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • Mybatis持久層框架入門之CRUD實(shí)例代碼詳解

    Mybatis持久層框架入門之CRUD實(shí)例代碼詳解

    這篇文章主要介紹了Mybatis持久層框架入門之CRUD實(shí)例,需要的朋友可以參考下
    2022-05-05
  • 關(guān)于Springboot如何獲取IOC容器

    關(guān)于Springboot如何獲取IOC容器

    大家好,我是孤焰。最近我在制作日志審計(jì)功能時(shí)發(fā)現(xiàn)不知道怎樣獲取到Springboot項(xiàng)目中的IOC容器,經(jīng)過摸索,最終解決了這個(gè)問題,現(xiàn)在把解決方式和大家分享一下
    2021-08-08
  • SpringMvc使用GoogleKaptcha生成驗(yàn)證碼

    SpringMvc使用GoogleKaptcha生成驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了SpringMvc項(xiàng)目中使用GoogleKaptcha 生成驗(yàn)證碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • SpringBoot Nacos實(shí)現(xiàn)自動(dòng)刷新

    SpringBoot Nacos實(shí)現(xiàn)自動(dòng)刷新

    這篇文章主要介紹了SpringBoot Nacos實(shí)現(xiàn)自動(dòng)刷新,Nacos(Dynamic Naming and Configuration Service)是阿里巴巴開源的一個(gè)動(dòng)態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺(tái)
    2023-01-01
  • Java實(shí)現(xiàn)控制小數(shù)精度的方法

    Java實(shí)現(xiàn)控制小數(shù)精度的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)控制小數(shù)精度的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 使用jmx?exporter采集kafka指標(biāo)示例詳解

    使用jmx?exporter采集kafka指標(biāo)示例詳解

    這篇文章主要為大家介紹了使用jmx?exporter采集kafka指標(biāo)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論