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

正文內(nèi)容

第17章線程-資料下載頁(yè)

2025-09-25 19:04本頁(yè)面
  

【正文】 nchronized修飾變量的時(shí)候結(jié)構(gòu)為: ? synchronized(obj){ ? ... // 操作代碼, ? } 等待 (wait)與通報(bào) (notify) ? 某些網(wǎng)頁(yè)瀏覽器中存在下載和顯示兩個(gè)線程,其中下載線程負(fù)責(zé)把所需要的圖片等下載到本地,顯示線程負(fù)責(zé)把下載的圖片顯示到顯示器上。 ? 那么顯示線程怎么知道下載線程下載了哪些圖片,什么時(shí)候下載完呢? ? 一種方式是顯示線程采用輪詢(xún)的方式,比如每隔 1秒鐘檢查一次,如果有新下載的圖片就將它顯示出來(lái)。如果下載線程下載一張圖片需要 1分鐘,顯示程序就得輪詢(xún) 60次。這無(wú)疑是一種浪費(fèi)。如果下載線程下載一張圖片只需要 1毫秒,那么 1秒鐘 1次的輪詢(xún)就顯得有些滯后。 線程死鎖 (dead lock) ? 當(dāng)線程之間(或者進(jìn)程之間)需要請(qǐng)求多個(gè)資源的時(shí)候,就可能出現(xiàn)死鎖( dead lock)。如兩個(gè)人就餐,但是只有一雙筷子。 A已經(jīng)拿起了一只筷子,他只需要在等待第二只筷子就可以吃飯了。但是這時(shí)候 B也拿起了一只筷子,也在等待第二只筷子。這時(shí)候就是一個(gè)死鎖狀態(tài),誰(shuí)也吃不了飯。死鎖的原因在于 A和 B在等待另一只筷子的時(shí)候都霸占著一只筷子。 一個(gè)死鎖的例子 ? 看一下程序模擬的二人吃飯問(wèn)題。 死鎖的解決方法 ? 上面的例子是一個(gè)簡(jiǎn)化了的哲學(xué)家就餐問(wèn)題。哲學(xué)家就餐問(wèn)題是死鎖的典型例子之一。死鎖有一系列的方法可以避免,也有很多的判斷、解決辦法,比如再增加一只筷子,則 A可以撿起新增加的筷子,這時(shí) A手中有兩只筷子,可以吃完飯, A吃完后將筷子釋放掉,然后 B又可以吃飯。 ? 下面介紹一個(gè)避免死鎖的方法。死鎖例子中的 A先拿起筷子 1,后拿起筷子 2。而 B先拿起筷子 2后拿起筷子 1。如果規(guī)定 A與 B都是先拿起筷子 1后才能拿起筷子 2,就不會(huì)再有死鎖了。用代碼驗(yàn)證一下。 小結(jié) ? 本章從線程的基本概念入手,講解了線程的兩種創(chuàng)建方法,以及線程的啟動(dòng)、停止、讓步、沉睡和喚醒等。處理線程最棘手的就是線程的同步問(wèn)題。如果處理不當(dāng),會(huì)引發(fā)一些邏輯錯(cuò)誤,而這種錯(cuò)誤單純檢查源代碼是很難檢測(cè)出來(lái)的。 ? 本章也簡(jiǎn)單地講解了線程同步,死鎖的相關(guān)概念,以及怎樣最大限度地避免死鎖。死鎖也是線程的棘手問(wèn)題之一。
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1