邊生產邊消費實現

2021-08-16 18:58:49 字數 948 閱讀 4895

如何實現邊生產邊消費;

首先定義乙個生產和消費的類,建立乙個生產函式,建立乙個消費函式。 定義乙個容器用於裝載生產出來的產品,這裡我用乙個陣列當做乙個容器。定義乙個變數用於標識產品的個數。 使用synchronized同步,使生產與消費的方法同時執行。定乙個消費執行緒b類,用於消費。定義乙個生產線程a類,用於生產。用乙個while迴圈判斷產品的個數是否與陣列的長度相等,如果相等,使a執行緒進入等待狀態然後喚醒b執行緒。消費方法也用乙個while迴圈判斷產品個數是否等於0,如果等於0,那麼b執行緒進入等待狀態,然後喚醒a執行緒繼續生產。如此就可以實現邊生產邊消費了。

public class produtionandconsume

}class pc catch (interruptedexception e)

}this.notify();

aa[cut]  = a;

system.out.println(thread.currentthread().getname()+"生產了"+(cut+1)+"個產品");

cut++;

}public synchronized int  popup() catch (interruptedexception e)

}this.notify();

b  = aa[cut-1];

system.out.println(thread.currentthread().getname()+"消費了"+cut+"個產品");

cut--;

return b;}}

class ab implements runnable

public void run()}}

class bc implements runnable

public void run() catch (interruptedexception e)

for (int i = 0; i < 22; i++) }}

語音邊錄邊傳實現方案

這裡的語音是指即時通訊中的語音頻息,語音邊錄邊傳就是在語音的錄製過程中上傳語音檔案而不是等錄製完成再一次性上傳,這麼做的目的是減少檔案上傳時間,加快訊息傳送速度。一般一條語音頻息從使用者按下錄音鍵到成功傳送大致流程如下 1 開始錄音,將接收到的語音轉化成音訊資料流,這一步通常可以呼叫系統方法完成 a...

樹邊,前向邊,後向邊,橫叉邊

樹邊,前向邊,後向邊,橫叉邊,應該說,不是乙個圖本身有的概念,應該是圖進行dfs時才有的概念。圖進行dfs會得到一棵dfs樹 森林 在這個樹上才有了這些概念。對圖進行dfs,可以從任意的頂點開始,遍歷的方式也是多樣的,所以不同的遍歷會得到不同的dfs樹,進而產生不同的樹邊,前向邊,後向邊,橫叉邊。所...

邊學邊用LINUX

第一講 linux概述 第二講 linux的安裝過程 一 第三講 linux的安裝過程 二 第四講 linux的安裝過程 三 第五講 linux的安裝過程 四 第六講 x windows系統 第七講 kde的基本操作 第八講 linux作業系統中的中文環境 第九講 linux作業系統中的其它應用程式...