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

正文內(nèi)容

[計算機軟件及應(yīng)用]java08-java高級編程2-多線程-資料下載頁

2025-10-10 04:03本頁面
  

【正文】 outStream = o。 } public void run() { PrintStream p = new PrintStream( outStream )。 for (int i = 0。 i 。 i++) { (messages[ i ])。 ()。 (WrIte: + messages[i] )。 } ()。 p = null。 }} Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 資源協(xié)調(diào) 1. 數(shù)據(jù)的完整性 線程 1 線程 2 線程 10 資源 withdrwal() withdrwal() 透支 余額 變量 Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 資源協(xié)調(diào) ? 對共享對象的訪問必須同步 ,叫做條件變量 . ? Java語言允許通過監(jiān)視器 (有的參考書稱其為管程 )使用條件變量實現(xiàn)線程同步 . ? 監(jiān)視器阻止兩個線程同時訪問同一個條件變量 .它的如同鎖一樣作用在數(shù)據(jù)上 . ? 線程 1進入 withdrawal方法時 ,獲得監(jiān)視器 (加鎖 )。當(dāng)線程 1的方法執(zhí)行完畢返回時 ,釋放監(jiān)視器 (開鎖 ),線程 2的 withdrawal方能進入 . withdrawal() 線程 1 監(jiān)視器 線程 2 Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 資源協(xié)調(diào) ? 用 synchronized來標(biāo)識的區(qū)域或方法即為監(jiān)視器監(jiān)視的部分。 ? 一個類或一個對象由一個監(jiān)視器 ,如果一個程序內(nèi)有兩個方法使用 synchronized標(biāo)志 ,則他們在一個監(jiān)視器管理之下 . ? 一般情況下,只在方法的層次上使用關(guān)鍵區(qū) read write 監(jiān) 視 器 線程 1 線程 2 Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 資源協(xié)調(diào) 此處給出的例子演示兩個線程在同步限制下工作的情況 . class Account { statics int balance=1000。 //為什么用 static? statics int expense=0。 public synchronized void withdrawl(int amount) { if (amount=balance) { balance=amount。 expense+=amount。} else { (“bounced: “+amount)。} } } Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 資源協(xié)調(diào) ? 2. 等待同步數(shù)據(jù) 生產(chǎn)者 消費者 . . 共享對象 write read 可能出現(xiàn)的問題 : ?生產(chǎn)者比消費者快時 ,消費者會漏掉一些數(shù)據(jù)沒有取到 ?消費者比生產(chǎn)者快時 ,消費者取相同的數(shù)據(jù) . ? notify()和 wait ()方法用來協(xié)調(diào)讀取的關(guān)系 . ? notify()和 wait ()都只能從同步方法中的調(diào)用 . Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 資源協(xié)調(diào) ? notify的作用是喚醒正在等待同一個監(jiān)視器的線程 . ? wait的作用是讓當(dāng)前線程等待 ? 信息版例子 ? read()方法在讀信息之前先等待 ,直到信息可讀 ,讀完后通知要寫的線程 . ? write()方法在寫信息之前先等待 ,直到信息被取走 ,寫完后通知要讀的進程 . Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 資源協(xié)調(diào) ? 多線程問題 資源的協(xié)調(diào)和鎖定 死鎖問題 如果你的持有一個鎖并試圖獲取另一個鎖時 ,就有死鎖的危險 . 解決死鎖問題的方法 :給條件變量施加排序 線程 2 pen 線程 1 note 把“ pen”給我 ,我 才能給你“ note” 把“ note”給我 ,我 才能給你“ pen” Copyright 169。 2021 Keerqin All Rights Reserved. 多線程問題 daemon線程 ? 什么是 daemon(守護 )? ? 在客戶 /服務(wù)器模式下 ,服務(wù)器的作用是等待用戶發(fā)來請求 ,并按請求完成客戶的工作 ? 守護線程是為其它線程提供服務(wù)的線程 ? 守護線程一般應(yīng)該是一個獨立的線程 ,它的 run()方法是一個無限循環(huán) . ? 守護線程與其它線程的區(qū)別是 ,如果守護線程是唯一運行著的線程 ,程序會自動退出 客戶端 服務(wù)器端 request daemon Copyright 169。 2021 Keerqin All Rights Reserved. 小結(jié) 1. 實現(xiàn)線程有兩種方法 : ? 實現(xiàn) Ruannable接口 ? 繼承 Thread類 2. 在小應(yīng)用中通常在 start中創(chuàng)建線程 ,java調(diào)用該線程的 run方 法 ,它是Thread的核心 . 4. 線程由四個狀態(tài) :新生 ,運行 ,暫停 ,死亡 5. 線程間的通信方式由三種 :完全共享數(shù)據(jù) ,通過監(jiān)視器 ,通過 join. Copyright 169。 2021 Keerqin All Rights Reserved. 小結(jié) 6. 兩個或多個線程競爭資源時 ,需要用同步的方法協(xié)調(diào)資源 . 7. 多個線程執(zhí)行時 ,要用到同步方法 ,即使用 synchronized的關(guān)鍵字設(shè)定同步區(qū) 8. wait和 notify起協(xié)調(diào)作用 9. 守護進程的特點是當(dāng)程序中制勝它自己時 ,會自動中止 .
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1