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

正文內(nèi)容

第17章線程-資料下載頁

2025-09-25 19:04本頁面
  

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