小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java中的wait和notify總結(jié)和應(yīng)用

 Levy_X 2017-07-25
package concurrency; import java.util.LinkedList; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ProducerAndConsumer { /** * 使用wait notify 的多生產(chǎn)者多消費(fèi)者,固定消費(fèi)空間的例子 * 消費(fèi)者 生產(chǎn)者的 執(zhí)行速度不一 */ private List<Integer> data = new LinkedList<>(); private static final int MAX_DATA_LEN = 10; class Producer implements Runnable { private int pid = 0; public Producer(int pid){ this.pid = pid; } public void run() { try { while (!Thread.currentThread().isInterrupted()) { synchronized (data) { //try { while (data.size() >= MAX_DATA_LEN) { System.out.println('Producer' pid ' waiting ! size : ' data.size()); data.wait(); } data.add(pid); System.out.println('Producer' pid ' add ' pid ' size: ' data.size()); data.notifyAll(); } Thread.sleep(50); } } catch (InterruptedException ie) { ie.printStackTrace(); } } } class Consumer implements Runnable{ private int cid = 0; public Consumer(int cid){ this.cid = cid; } public void run(){ try { while (!Thread.currentThread().isInterrupted()) { synchronized (data) { while (data.isEmpty()) { System.out.println('Consumer' cid ' waiting, data size : ' data.size()); data.wait(); } int pid = data.remove(0); System.out.println('Consumer' cid ' consuming data ' pid ' data size : ' data.size()); data.notifyAll(); } Thread.sleep(500); } }catch (InterruptedException ie){ ie.printStackTrace(); } } } public void start(){ ExecutorService executor = Executors.newCachedThreadPool(); for(int i = 0; i < 5; i){ executor.submit(new Producer(i)); executor.submit(new Consumer(i)); } try { Thread.sleep(10*1000); } catch (InterruptedException e) { e.printStackTrace(); } executor.shutdownNow(); } public static void main(String []args){ new ProducerAndConsumer().start(); } }

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多