package 生產者消費者;
public class producerconsumertest
}
package 生產者消費者;
/** * 生產者執行緒,負責生產公共資源
* @author dream
* */
public class producerthread implements runnable
@override
public void run() catch (interruptedexception e)
resource.increase();}}
}
package 生產者消費者;
/** * 消費者執行緒,負責消費公共資源
* @author dream
* */
public class consumerthread implements runnable
@override
public void run() catch (interruptedexception e)
resource.decrease();}}
}
package 生產者消費者;
/** * 公共資源類
* @author dream
* */
public class publicresource catch (interruptedexception e)
}number++;
system.out.println("生產了1個,總共有" + number);
notifyall();
}/**
* 減少公共資源
*/public synchronized void decrease()
catch (interruptedexception e)
}number--;
system.out.println("消費了1個,總共有" + number);
notifyall();
}}
生產者和消費者問題
有乙個生產者在生產產品,這些產品將提供給若干個消費者去消費,為了使生產者和消費者能併發執行,在兩者之間設定乙個具有多個緩衝區的緩衝池,生產者將它生產的產品放入乙個緩衝區中,消費者可以從緩衝區中取走產品進行消費,顯然生產者和消費者之間必須保持同步,是即不允許消費者到乙個空的緩衝區中取產品,也不允許生產...
生產者和消費者問題
package com.softeem.lesson22.sync3 public class mobile public intgetnum public void setnum int num package com.softeem.lesson22.sync3 public class sto...
生產者和消費者問題
同學面試有遇到這個問題,說面試官很刁,答的不好。於是,我也翻了翻書,頓感有做筆記的必要。概述 生產者和消費者問題是關於同步的乙個經典問題,即由乙個或多個生產者 執行緒或程序 建立資料,然後由乙個或多個消費者 執行緒或程序 處理。這裡自然涉及到ipc。一 單生產者 單消費者 最簡單的同步模型,以she...