java多執行緒經典例題 生產者 消費者問題

2021-09-12 02:34:51 字數 805 閱讀 9897

生產者/消費者問題

題目描述:

生產者(productor)將產品交給店員(clerk),而消費者(customer)從店員處取走產品,店員一次只能持有固定數量的產品(比如:20),如果生產者試圖生產更多的產品,店員會叫生產者停一下,如果店中有空位放產品了再通知生產者繼續生產;如果店中沒有產品了,店員會告訴消費者等一下,如果店中有產品了再通知消費者來取走產品。

**:

class clerk  catch (interruptedexception e) 

} else

}public synchronized void consumeproduct() catch (interruptedexception e)

} else

}}class producer implements runnable

public void run() catch (interruptedexception e)

clerk.addproduct();}}

}class consumer implements runnable

public void run() catch (interruptedexception e)

clerk.consumeproduct();}}

}public class testproduceconsume

}

程式結果:

NSCondition 多執行緒解決生產者消費者問題

import viewcontroller.h inte ce viewcontroller 資料緩衝區 property strong,nonatomic nsmutablearray products 執行緒鎖 property strong,nonatomic nscondition cond...

經典例題 生產者 消費者

package com.day0207 2 執行緒通訊的應用 經典例題 生產者 消費者 生產者 productor 將產品交給店員 clerk 而消費者 customer 從店員處取走產品,會叫生產者停一下,如果店中有空位放產品了再通知生產者繼續生產 如果店中沒有產品 了,店員會告訴消費者等一下,如...

java多執行緒(生產者 消費者)

if isempty 當生產者生產出來商品需要喚醒消費者消費,可進行如下控制 vector.vector.notify 喚醒消費方法還用到了同步的方法,具體語法如下 synchronized vector.vector 程式源 如下 public class thread01 public stat...