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

正文內(nèi)容

濟(jì)南大學(xué)java學(xué)習(xí)課件ch09多線(xiàn)程程序設(shè)計(jì)-閱讀頁(yè)

2024-08-20 17:40本頁(yè)面
  

【正文】 hread(t2)).start()。 假設(shè)有兩個(gè)線(xiàn)程:線(xiàn)程 A和線(xiàn)程 B,并且程序?yàn)檫@兩個(gè)線(xiàn)程開(kāi)辟了一個(gè)公共的內(nèi)存空間。 ? 在某個(gè)時(shí)候線(xiàn)程 B運(yùn)行速度比較快,在線(xiàn)程 A未讀取上一個(gè)數(shù)據(jù)之前, B就寫(xiě)了第二次數(shù)據(jù),造成數(shù)據(jù)遺漏。結(jié)果線(xiàn)程 A讀不到數(shù)據(jù),導(dǎo)致運(yùn)行出錯(cuò)。 多線(xiàn)程的同步處理 23 解決辦法: ? 對(duì)第二、三種情況:當(dāng) B寫(xiě)數(shù)據(jù)時(shí)發(fā)現(xiàn)公共空間沒(méi)有被清空,還有數(shù)據(jù),則線(xiàn)程 B暫時(shí)掛起,從運(yùn)行狀態(tài)轉(zhuǎn)到堵塞狀態(tài),過(guò)一段時(shí)間再喚醒。用 synchronized來(lái)標(biāo)示同步資源。 多線(xiàn)程的同步處理 public synchronized void f() { …… while (布爾表達(dá)式 ) { wait()。 } ?synchronized方法同時(shí)只能被一個(gè)線(xiàn)程調(diào)用 ?wait, notify只能用在同步方法中 ?wait使線(xiàn)程讓出對(duì)方法的控制并進(jìn)入等待隊(duì)列,必須由其他線(xiàn)程調(diào)用notify來(lái)喚醒 ?使用 wait時(shí)需要處理InterruptedException異常 25 ? 給一個(gè)方法的方法體中的某些對(duì)象加鎖:定義方法中的同步代碼塊。 // 被加鎖的某些共享的對(duì)象或數(shù)據(jù) } } ? 當(dāng)一個(gè)線(xiàn)程執(zhí)行該同步語(yǔ)句時(shí)會(huì)將這個(gè)對(duì)象鎖住 ? 此時(shí)其他線(xiàn)程不能訪(fǎng)問(wèn)該對(duì)象 ? 常用于實(shí)現(xiàn)對(duì)一個(gè)對(duì)象變量的互斥訪(fǎng)問(wèn) 多線(xiàn)程的同步處理 26 示例 public class Stack { int idx=0。 public void push(char c) { synchronized(this) { data[idx]=c。 } } public synchronized char pop() { idx。 } } 在執(zhí)行該代碼段時(shí)必須取得對(duì)象鎖 在執(zhí)行該方法時(shí)必須取得對(duì)象鎖 27 wait()和 notify() 方法 ? 這兩個(gè)方法配套使用 ? 使用要求: ? 必須在 synchronized 方法或塊中調(diào)用。 ? 這對(duì)方法直接隸屬于 Object 類(lèi) ,而不是 Thread類(lèi) ? 采用 wait和 notify可以解決很多臨界訪(fǎng)問(wèn)控制問(wèn)題 釋放對(duì)象鎖 ,進(jìn)入等待阻塞狀態(tài) 通知等待者執(zhí)行 28 編寫(xiě) 一個(gè)應(yīng)用程序,模擬以下售票過(guò)程: 每張票售價(jià) 5元 售票員初始沒(méi)有任何 money 售票規(guī)則是: ( 1)假設(shè)只有 5元和 10元兩種錢(qián)幣 ( 2)拿 5元買(mǎi)票的可以立即買(mǎi)到 ( 3)拿 10元買(mǎi)票的需要找零,如不能滿(mǎn)足則必 須等待,直到可以找零 不斷產(chǎn)生買(mǎi)票者,動(dòng)態(tài)顯示售票 過(guò)程 示例 29 主要問(wèn)題 ?熟悉 Runnable 和 Thread 嗎? ?知道 run() 方法的作用嗎? ?擴(kuò)展 Thread 類(lèi)實(shí)現(xiàn)多線(xiàn)程的程序框架如何? ?實(shí)現(xiàn) Runnable 接口實(shí)現(xiàn)多線(xiàn)程的程序框架如何? ?簡(jiǎn)單總結(jié)兩種方式下的主要
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1