-1
Cプログラム内のすべてのスレッドを作成し、他のアクティブなスレッドを待ってから、その順に解放する方法はありますか?待ちスレッドのキュー?私はあなたに私は最後の学期を取ったいくつかのメモを与えることによって助けるためにしようとしますアクティブなスレッドCをすべて同期し、1つずつリリースしますか?
Cプログラム内のすべてのスレッドを作成し、他のアクティブなスレッドを待ってから、その順に解放する方法はありますか?待ちスレッドのキュー?私はあなたに私は最後の学期を取ったいくつかのメモを与えることによって助けるためにしようとしますアクティブなスレッドCをすべて同期し、1つずつリリースしますか?
...
スレッド
GCCプログラムは、これは、クラス/スケジューラと名前を開始
#include <pthread.h>
int main(int argc, char *argv[]) {
を-lpthreadそれはmulo
pthread_mutex_t mulo = PTHREAD_MUTEX_INITIALIZER;
スレッドの実行
pthread_cond_t c = PTHREAD_COND_INITIALIZER;
スレッド
pthread_t t1, t2, t3;
pthread_t array[3]; // this is valid to set multiple variables
スコープ/名前空間を定義し
pthread_mutex_init(&mulo, NULL);
はプロセス
pthread_create(&t1, NULL, printMessage, NULL);
を作成することになる構造体を定義して停止し、開始するondition
またはちょうど..
fork();
は創造の検証、スレッドIDは、時間
pthread_mutex_lock(&mulo);
pthread_mutex_unlock(&mulo);
でそれを実行することができますpid_t型(int型)
pid_t pid;
pid = fork(); // All child processes return 0.. if error = -1
ロック(&ロック解除)機能ので、一つだけのプロセスを持っています
ロック解除を通知するため
pthread_cond_signal(&c);
pthread_cond_wait(&c, &mulo);
スレッドを使用の
すべての機能は、機能スレッド
pthread_create(&array[i], NULL, runCommand, (void *) &command);
void *inc_count(void *idp) {
int passed_in_value = *((int *) idp);
.
.
.
}
仕上げ、それをオフ
pthread_join(t1,NULL);
pthread_join(t2,NULL);
から値を渡す
void *printMessage() { …. }
pthread_create(&t1, NULL, printMessage, NULL);
へのポインタでなければなりません