linux c++の反発変数と条件変数

996 ワード

/*
 * main.cpp
 *
 *  Created on: Jul 3, 2014
 *      Author: john
 */

#include
#include
#include
using namespace std;
//          
pthread_mutex_t mutex;
pthread_cond_t cond;
void* thread1(void* arg)
{

    while(1)
    {
       cout<

反発変数の使用には以下の点に注意する必要があります.
1.反発変数を使用する前にpthread_を初期化する必要があります.mutex_init
2.pthread_mutex_ロック操作前に反発変数がロックされているとブロックされます
3.pthread_mutex_trylock,.足枷を試み、失敗したら、すぐに戻る.
4.pthread_mutex_unlock操作のロックは、すでにlockされている反発変数である必要があります.また、ロック解除スレッドも足かせのスレッドである必要があります.
5.使用完了後にpthread_を使用mutex_destroy
条件変数の使用には以下の点に注意する必要があります.
1.条件付きスカラーを使用する前にpthread_cond_Initオペレーション
2.pthread_cond_wait無条件待機条件変数のアクティブ化
3.pthread_conf_timedwaitブロック条件変数がアクティブになるまで、または時間まで
4.pthread_cond_Signal特定スレッドのブロック解除(複数のスレッドが条件変数のアクティブ化を待つキューで選択)、または条件変数のアクティブ化
5.pthread_cond_broadcastはすべてのスレッドのブロックを解除し、条件変数のアクティブ化を待つキュー全体が条件変数のアクティブ化の通知を受け、すぐに下に実行します.