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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]移動(dòng)通信軟件編程基礎(chǔ)—java語(yǔ)言第11章-資料下載頁(yè)

2025-01-19 17:28本頁(yè)面
  

【正文】 //消費(fèi)者線程類(lèi) class Consumer extends Thread { private CubbyHole cubbyhole。 private int number。 public Consumer(CubbyHole c, int number) { cubbyhole = c。 = number。 } public void run() { int value = 0。 for (int i = 0。 i 10。 i++) { value = ()。 (Consumer + + get: + value)。 } } } ICMSP 生產(chǎn)者 /消費(fèi)者問(wèn)題 //共享數(shù)據(jù)類(lèi) 模擬實(shí)現(xiàn)倉(cāng)庫(kù) class CubbyHole { private int seq。 private boolean available = false。 //取數(shù)據(jù)的同步方法 get()取得可消費(fèi)產(chǎn)品 public synchronized int get() { … … } //存放數(shù)據(jù)的同步方法 put()放置可消費(fèi)產(chǎn)品 public synchronized void put(int value) { … … } } public synchronized int get() { while( available==false ) { try{ wait( )。 //條件不符合,則 wait } catch( InterruptedException e ) { ()。 } } available = false。 //修改條件 取得產(chǎn)品后 notify()。//通知喚醒其他等待的線程 return seq。 //返回要取出的數(shù)值 } public synchronized void put(int value) { while( available==true ) { try { wait( )。 //條件不符合,則 wait } catch( InterruptedException e ) { ()。 } } seq = value。 //把共享變量修改為要放置的數(shù)據(jù) available = true。 //修改條件 notify( )。 //通知喚醒其他等待管程的線程 } ICMSP 生產(chǎn)者 /消費(fèi)者問(wèn)題 public class ProductConsumerDemo { public static void main(String[] args) { CubbyHole c = new CubbyHole()。//共享數(shù)據(jù)對(duì)象 Producer p1 = new Producer(c, 1)。 //生產(chǎn)者線程 Consumer c1 = new Consumer(c, 5)。 //消費(fèi)者線程 ()。 //啟動(dòng)生產(chǎn)者線程 ()。 //啟動(dòng)生產(chǎn)者線程 ()。 //啟動(dòng)消費(fèi)者線程 ()。 //啟動(dòng)消費(fèi)者線程 } } ?生產(chǎn)消費(fèi)者主程序 ICMSP 總結(jié) 多線程 線程的基本概念 線程的實(shí)現(xiàn)方法 同步的實(shí)現(xiàn) 死鎖及其解決方案 線程的基本概念 創(chuàng)建線程 線程的狀態(tài) 暫停線程的方法 線程的優(yōu)先級(jí) 繼承 Thread類(lèi) 實(shí)現(xiàn) Runnable接口 同步方法 同步代碼塊 死鎖 waitnotify機(jī)制 ICMSP 習(xí)題 ICMSP 作業(yè)
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1