간단한 쓰레드 질문입니다

글쓴이: 익명 사용자 / 작성시간: 토, 2017/06/24 - 9:58오후
#include<pthread.h> #include<stdio.h> #include<stdlib.h> void * ThreadMain_1(void * ); int main(int argc, char * argv[]) { pthread_t tid; int return_Value; int * arg; for(int i =1; i<=5; i++) { arg = (int *)malloc(sizeof(int)); //*arg = i; //쓰레드 생성 pthread_create(&tid, NULL, ThreadMain_1, (void *)arg); printf("나 : %lu 생성한 쓰레드 : %lu\n", pthread_self(), tid); //쓰레드 종료 대기 pthread_join(tid, (void **)&return_Value); //반환값 이용 printf("쓰레드 반환값 : %d\n", return_Value); } } void * ThreadMain_1(void * arg) { int * num = (int *)arg; printf("만들어진 쓰레드 : %lu 인자 : %d\n", pthread_self(), *num); free(num); pthread_exit((void *)1); //return (void *)num; }
간단한 쓰레드 예제를 만들고 있는데, 무한루프에 걸리는 게 문제입니다.
for문의 i값을 업데이트 하지 않고 다시 쓰레드를 만드는데, 아무리 봐도 무엇이 문제인지 모르겠습니다..ㅠㅠ
감사합니다..
Forums:
댓글 달기