日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Java線程如何才能管理好自己的“小弟”

Java線程需要大家學(xué)習(xí)知識(shí)有很多,我們?cè)诓粩鄬W(xué)習(xí)的過(guò)程中就會(huì)體會(huì)到Java線程中繁多的分支,下面我們就來(lái)看看幾個(gè)具有代表性的分支,希望大家有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、順德網(wǎng)站維護(hù)、網(wǎng)站推廣。

使當(dāng)前線程(即調(diào)用該方法的Java線程)暫停執(zhí)行一段時(shí)間,讓其他線程有機(jī)會(huì)繼續(xù)執(zhí)行,但它并不釋放對(duì)象鎖。也就是如果有Synchronized同步塊,其他線程仍然不同訪問(wèn)共享數(shù)據(jù)。注意該方法要捕獲異常。#t#

比如有兩個(gè)線程同時(shí)執(zhí)行(沒(méi)有Synchronized),一個(gè)Java線程優(yōu)先級(jí)為MAX_PRIORITY,另一個(gè)為MIN_PRIORITY,如果沒(méi)有Sleep()方法,只有高優(yōu)先級(jí)的線程執(zhí)行完成后,低優(yōu)先級(jí)的線程才能執(zhí)行;但當(dāng)高優(yōu)先級(jí)的線程sleep(5000)后,低優(yōu)先級(jí)就有機(jī)會(huì)執(zhí)行了。

總之,sleep()可以使低優(yōu)先級(jí)的Java線程得到執(zhí)行的機(jī)會(huì),當(dāng)然也可以讓同優(yōu)先級(jí)、高優(yōu)先級(jí)的線程有執(zhí)行的機(jī)會(huì)。

join()

join()方法使調(diào)用該方法的線程在此之前執(zhí)行完畢,也就是等待調(diào)用該方法的線程執(zhí)行完畢后再往下繼續(xù)執(zhí)行。注意該方法也要捕獲異常。

yield()

它與sleep()類似,只是不能由用戶指定暫停多長(zhǎng)時(shí)間,并且yield()方法只能讓同優(yōu)先級(jí)的Java線程有執(zhí)行的機(jī)會(huì)。

wait()和notify()、notifyAll()

這三個(gè)方法用于協(xié)調(diào)多個(gè)Java線程對(duì)共享數(shù)據(jù)的存取,所以必須在Synchronized語(yǔ)句塊內(nèi)使用這三個(gè)方法。前面說(shuō)過(guò)Synchronized這個(gè)關(guān)鍵字用于保護(hù)共享數(shù)據(jù),阻止其他線程對(duì)共享數(shù)據(jù)的存取。但是這樣程序的流程就很不靈活了,如何才能在當(dāng)前線程還沒(méi)退出Synchronized數(shù)據(jù)塊時(shí)讓其他線程也有機(jī)會(huì)訪問(wèn)共享數(shù)據(jù)呢?此時(shí)就用這三個(gè)方法來(lái)靈活控制。

wait()方法使當(dāng)前線程暫停執(zhí)行并釋放對(duì)象鎖標(biāo)志,讓其他線程可以進(jìn)入Synchronized數(shù)據(jù)塊,當(dāng)前線程被放入對(duì)象等待池中。當(dāng)調(diào)用 notify()方法后,將從對(duì)象的等待池中移走一個(gè)任意的線程并放到鎖標(biāo)志等待池中,只有鎖標(biāo)志等待池中的Java線程能夠獲取鎖標(biāo)志;如果鎖標(biāo)志等待池中沒(méi)有線程,則notify()不起作用。

notifyAll()則從對(duì)象等待池中移走所有等待那個(gè)對(duì)象的Java線程并放到鎖標(biāo)志等待池中。


當(dāng)前名稱:Java線程如何才能管理好自己的“小弟”
分享地址:http://www.dlmjj.cn/article/cdospih.html