色欲av一区久久精品_久久综合色综合色88_无码在线观看不卡_色黄视频网站_亚洲国产精品久久久久秋霞66

java中有幾種方法實(shí)現(xiàn)一個(gè)線程?

時(shí)間:2023-05-17

第一種:繼承Thread類。NewThread(){}.start():表示調(diào)用子類對象的run辦法。
第二種:完成Runable接口。
第三種:線程池創(chuàng)立多線程。
第四種:完成Callable接口,重寫call函數(shù)(
繼承Thread類完成多線程,重寫run辦法時(shí)沒有返回值也不能拋出異常,運(yùn)用Callable接口就能夠處理這個(gè)問題。Java
Callable接口和Runnable接口的不同之處:
1.Callable規(guī)則的辦法是call,而Runnable是run
2.call辦法能夠拋出異常,但是run辦法不行
3.Callable對象執(zhí)行后能夠有返回值,運(yùn)轉(zhuǎn)Callable任務(wù)能夠得到一個(gè)Future對象,經(jīng)過Future對象能夠理解任務(wù)執(zhí)行狀況,能夠取消任務(wù)的執(zhí)行,而Runnable不可有返回值

用synchronized關(guān)鍵字修飾同步辦法。
反對運(yùn)用stop(),是由于它不平安。它會(huì)解除由線程獲取的一切鎖定,而且假如對象處于一種不連接狀態(tài),那么其他線程能在那種狀態(tài)下檢查和修正它們,結(jié)果很難檢查出真正的問題所在。
suspend()辦法容易發(fā)作死鎖。調(diào)用suspend()的時(shí)分,目的線程會(huì)停下來,但卻依然持有在這之前取得的鎖定。此時(shí),其他任何線程都不能訪問鎖定的資源,除非被”掛起”的線程恢復(fù)運(yùn)轉(zhuǎn)。對任何線程來說,假如它們想恢復(fù)目的線程,同時(shí)又試圖運(yùn)用任何一個(gè)鎖定的資源,就會(huì)形成死鎖。所以不應(yīng)該運(yùn)用suspend(),而應(yīng)在本人的Thread類中置入一個(gè)標(biāo)志,指出線程應(yīng)該活動(dòng)還是掛起。若標(biāo)志指出線程應(yīng)該掛起,便用wait()命其進(jìn)入等候狀態(tài)。若標(biāo)志指出線程應(yīng)當(dāng)恢復(fù),則用一個(gè)notify()重新啟動(dòng)線程。

文章標(biāo)簽:

Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)

與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
掃描二維碼
與項(xiàng)目經(jīng)理交流
ciya68