次のように私はマップを使用しています:pthread_cond_tはオブジェクトか何ですか?
キー--->タスクID
値--->pthread_cond_t
オブジェクト
特定のタスクが実行されると、私は関連付けられているすべてのpthreads
を覚ましますこれは一致するpthread_cond_t
要素を使用しています。
私の質問は簡単です - pthread_cond_t
とは何ですか?それはオブジェクトですか?マップを削除すると、マップはそのコンストラクタを呼び出すので、それは私には良いものではありません。そのない場合は - 私はちょうど私がやろうとしています何
pthread_cond_t cond = *(_flushCond->operator [](task_id)); //map of conditions
_flushCond->operator [](task_id) = NULL;
return cond;
を返すことができることは、後で使用するためにマップ内のオブジェクトを解放し(私はIDを再利用)していたpthread_cond_t
オブジェクトを返すことです。
pthreadはC APIですので、コンストラクタなどはありません。あなたは自由にそれを渡すことができるはずです。 –
しかし、それにはポインタがありますか、それともプリミティブ型以外の何かがありますか? – yotamoo
これは不透明なタイプなので、コードは内部に何も気にしないでください。 –