生產者消費者問題

2021-10-21 14:47:32 字數 2000 閱讀 8246

/**

* 生產者消費者問題

* @author administrator

* */

public class productorandconsumertest catch (interruptedexception e)

return;

}try catch (interruptedexception e)

this.product++;

system.out.println("生產者" + thread.currentthread().getname() + ": 生產第" + this.product + "個產品.");

notifyall(); // 通知等待區的消費者可以取出產品了

} /**

* 消費者從市場買產品

*/public synchronized void consume() catch (interruptedexception e)

return;

}try catch (interruptedexception e)

system.out.println("消費者 " + thread.currentthread().getname() + " 取走了第" + this.product + "個產品.");

this.product--;

notifyall(); // 通知等待去的生產者可以生產產品了

} }/**

* 生產者

* @author administrator

*/class producer implements runnable

@override

public void run() catch (interruptedexception e)

while (true)

} }/**

* 消費者

* @author administrator

*/class consumer implements runnable

@override

public void run() catch (interruptedexception e)

product.consume();

}} }

public static void main(string args)

}

生產者爆公尺花工廠2: 生產第1個產品.

生產者爆公尺花工廠2: 生產第2個產品.

生產者爆公尺花工廠2: 生產第3個產品.

生產者爆公尺花工廠2: 生產第4個產品.

生產者爆公尺花工廠2: 生產第5個產品.

生產者爆公尺花工廠2: 生產第6個產品.

消費者 紅孩兒 取走了第6個產品.

消費者 雪鷹 取走了第5個產品.

生產者爆公尺花工廠: 生產第5個產品.

生產者爆公尺花工廠: 生產第6個產品.

生產者爆公尺花工廠: 生產第7個產品.

消費者 唐三 取走了第7個產品.

消費者 小屁孩 取走了第6個產品.

生產者爆公尺花工廠3: 生產第6個產品.

消費者 小屁孩 取走了第6個產品.

消費者 唐三 取走了第5個產品.

生產者爆公尺花工廠: 生產第5個產品.

消費者 雪鷹 取走了第5個產品.

消費者 紅孩兒 取走了第4個產品.

生產者爆公尺花工廠2: 生產第4個產品.

消費者 紅孩兒 取走了第4個產品.

消費者 雪鷹: 缺貨,稍候再取

生產者爆公尺花工廠: 生產第4個產品.

生產者爆公尺花工廠: 生產第5個產品.

生產者爆公尺花工廠: 生產第6個產品.

生產者爆公尺花工廠: 生產第7個產品.

生產者爆公尺花工廠: 生產第8個產品.

消費者 唐三 取走了第8個產品.

消費者 小屁孩 取走了第7個產品.

生產者爆公尺花工廠3: 生產第7個產品.

生產者消費者問題

public class producer consumer class godown public godown int num public synchronized void produce int n catch interruptedexception e curr num n syste...

生產者 消費者問題

在學習程序互斥中,有個著名的問題 生產者 消費者問題。這個問題是乙個標準的 著名的同時性程式設計問題的集合 乙個有限緩衝區和兩類執行緒,它們是生產者和消費者,生產者把產品放入緩衝區,相反消費者便是從緩衝區中拿走產品。生產者在緩衝區滿時必須等待,直到緩衝區有空間才繼續生產。消費者在緩衝區空時必 須等待...

生產者 消費者問題

1 程序互斥問題 緩衝區b是臨界資源,程序p和c不能同時對b進行操作,即只能互斥的操作 2 程序同步問題 p不能往 滿 的的緩衝區b放產品,c不能從空的緩衝區獲得產品。當緩衝區滿時,c必須先於p執行,當緩衝區空時,p必須先於c執行 我們給出如下基於記錄型 二元 訊號量機制的解法 10 9 2013 ...