freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java網(wǎng)絡(luò)編程第2章-資料下載頁(yè)

2025-05-10 17:34本頁(yè)面
  

【正文】 件)線程投入時(shí),不是一次性申請(qǐng)所需資源,而是運(yùn)行中按需要臨時(shí)動(dòng)態(tài)地申請(qǐng)。 4. 循環(huán)等待條件: 系統(tǒng)中幾個(gè)線程形成循環(huán)地等待對(duì)方所占用資源的關(guān)系。 為了找到死鎖的解決方法,我們先看下面的一個(gè)死鎖圖, PP2表示兩個(gè)線程, R R2表示資源, P1已經(jīng)占用資源 R1而且在等待R2, P2已經(jīng)占用資源 R2而且在等待 R1,這時(shí)就會(huì)產(chǎn)生兩個(gè)線程互相等待的狀態(tài)。 從上圖可以看出,只要去掉其中的任何一條線,就不會(huì)形成死鎖。 實(shí)際上,預(yù)防死鎖有一個(gè)基本思想:要求線程申請(qǐng)資源時(shí)遵循某種協(xié)議,從而打破產(chǎn)生死鎖的四個(gè)條件中的一個(gè)或幾個(gè),從而保證系統(tǒng)不會(huì)進(jìn)入死鎖狀態(tài)。 wait和 notify機(jī)制 在實(shí)際應(yīng)用中,多線程之間常常需要互相協(xié)調(diào)工作。例如,瀏覽器的一個(gè)顯示圖片的線程 displayThread想要執(zhí)行顯示圖片的任務(wù),必須等待下載線程 downloadThread將該圖片下載完畢。如果圖片還沒(méi)有下載完,線程 displayThread可以暫停,當(dāng)線程 downloadThread完成了任務(wù)后,再通知線程 displayThread并顯示“圖片準(zhǔn)備完畢,可以顯示了”,這時(shí), displayThread繼續(xù)執(zhí)行。 以上邏輯簡(jiǎn)單的說(shuō)就是:如果條件不滿足,則等待。當(dāng)條件滿足時(shí),等待該條件的線程將被喚醒。在 JAVA中,這個(gè)機(jī)制的實(shí)現(xiàn)依賴于 wait()/notify()方法。等待機(jī)制與喚醒機(jī)制是密切關(guān)聯(lián)的。 synchronized(obj) { while(!condition) { ()。 } ()。 } 當(dāng)線程 A獲得了 obj鎖后,發(fā)現(xiàn)條件 condition不滿足,無(wú)法繼續(xù)下一步處理,于是線程 A就 wait()。在另一線程 B中,如果 B更改了某些條件,使得線程 A的 condition條件滿足了,就可以喚醒線程 A,如下所示: synchronized(obj) { condition = true。 ()。 } 實(shí)踐項(xiàng)目 —— 五子棋復(fù)盤游戲 實(shí)踐項(xiàng)目的具體要求如下 : 以在線下棋步驟(復(fù)盤)的兩個(gè)線程為例,在運(yùn)行過(guò)程中,其中有一個(gè)線程用于下黑棋、另外一個(gè)線程用于下白棋,還有一個(gè)用于存放下棋步驟的 Vector,他的顯示效果為:運(yùn)行時(shí)打開(kāi)一個(gè)窗體,上面加載了一個(gè)棋盤,之后黑棋白棋先后交替下棋,間隔為一秒鐘,直到復(fù)盤結(jié)束為止。 本章總結(jié) C語(yǔ)言概述與發(fā)展 C語(yǔ)言的特點(diǎn) 程序設(shè)計(jì)語(yǔ)言概述 C語(yǔ)言程序結(jié)構(gòu) C語(yǔ)言程序書寫時(shí)的注意事項(xiàng) C語(yǔ)言程序格式上的其他特點(diǎn) C語(yǔ)言開(kāi)發(fā)環(huán)境 Visual C++
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1