プロデューサーの消費:消費者プロデューサー
1.消費者、生産者は何ですか?ほとんどここと私たちの日常生活。シャンプーの工場は、人々が彼の最も忠実な消費者である、プロデューサーであり、ATMの生産者、消費者の撤退は、彼の人々であり、学校は、同社がプロデューサーである食堂、ダイナーソートの... ...消費者でありますモデル掃いて捨てるほど。
コンピュータを使用する方法2.このようなAライフモデル?現代のコンピュータは、基本的には、スケジューリングの基本ユニットは、スレッド(参照名説明下にある、方法を理解するためのスレッド)であるマルチタスクオペレーティングシステム(どちらかのシングルコアCPUまたはマルチコアCPU)です。異なるスレッド間(用語解説を参照してください横たわっている)で通信するには?プロデューサーは、非同期通信のための消費者機構が通知されます。
3.次のモデルを参照してください。
void *型プロデューサー(void *型データ)
{
pthread_lock(MT);
(リストがいっぱいになっている)場合
{
pthread_cond_waitの(cond_not_full、MT); //
}
add_queue(リスト、データ);
pthread_cond_signalを(cond_not_empty)。
pthread_unlock(MT);
}
void *型の消費者(void *型データ)
{
pthread_lock(MT);
(リストが空である)場合
{
pthread_cond_waitの(cond_not_empty、MT); //
}
delete_queue(リスト、データ);
pthread_cond_signalを(cond_not_full)。
pthread_unlock(MT);
}
4.知識シリーズ:生産と消費者のキューがリストNを行うには多くのものを組み合わせることができ、特定の使用シナリオ、別のアイデアは同じではありませんが、記載されていません。しかし、基本的には同じコードモデル。
西の用語集:
スレッド:それは、独自のまたは共有リソースを持っており、ほとんどの場合、無限ループの内部に(PCアドレスストリーキングに応じて)実行します。例えば:しばらく(1){//何かをする;};(;;){//何かをする。}の
現在、私はより多くのPOSIXのpthreadのスレッドで使用します。もちろん、Windowsの、C ++、アンドロイドなど、独自のパッケージが良いです。
スレッド間通信、通信プロセスの間:実際には、2つの電話コールを保持している2人(2つのスレッド)、[データIを送って、データI君を送ります。それがすべてです。
コモンモード:参照電子ブックのようなパイプ、メッセージキュー、共有メモリ、セマフォ、ソケット「Unixのプロセス間通信。」
Icekirin.yuan - キリンスタジオアディクト
Qグループ:147 565 042