-1
C 프로그램의 모든 스레드를 만들고 다른 활성 스레드를 기다린 다음 순서대로 해제하는 방법이 있습니까? 예 : 대기중인 스레드 대기열? 난 당신에게 내가 지난 학기했다 몇 가지 메모를 제공함으로써 도움을 시도합니다모든 활성 스레드 C를 동기화하고 하나씩 릴리스하십시오.
C 프로그램의 모든 스레드를 만들고 다른 활성 스레드를 기다린 다음 순서대로 해제하는 방법이 있습니까? 예 : 대기중인 스레드 대기열? 난 당신에게 내가 지난 학기했다 몇 가지 메모를 제공함으로써 도움을 시도합니다모든 활성 스레드 C를 동기화하고 하나씩 릴리스하십시오.
은 ...
스레드
GCC 프로그램은
#include <pthread.h>
int main(int argc, char *argv[]) {
이 클래스/스케줄러와 이름을 시작을 -lpthread 그것 mulo
pthread_mutex_t mulo = PTHREAD_MUTEX_INITIALIZER;
이것은 ac ondition는
pthread_mutex_init(&mulo, NULL);
프로세스를 만들기 스코프/네임 스페이스 정의 스레드
pthread_t t1, t2, t3;
pthread_t array[3]; // this is valid to set multiple variables
에게있을 것입니다 구조체를 정의 중지하고 스레드
pthread_cond_t c = PTHREAD_COND_INITIALIZER;
의 실행을 시작합니다
pthread_create(&t1, NULL, printMessage, NULL);
또는 다만 ..
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);
에 대한 포인터해야 사용개
모든 기능