간단한 쓰레드 질문입니다
글쓴이: 익명 사용자 / 작성시간: 토, 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:

댓글 달기