PTHREAD
컴파일 옵션은 -pthread
단순 쓰레드를 생성하여 HelloWorld를 출력
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <pthread.h>
4 #include <time.h>
5
6 // 쓰레드 번호부여를 위한 변수
7 int n=0;
8
9 // HelloWorld 출력을 하는 쓰레드 함수
10 void* Hello(void* arg)
11 {
12 int i=0, num=++n;
13 srand(time(NULL));
14
15 for(i=0; i<10; i++)
16 {
17 printf("(%dth)Hello World!!\n", num);
18 sleep(rand()%5);
19 }
20 }
21
22 int main()
23 {
24 int i=0;
25 int result=0;
26 srand(time(NULL));
27 pthread_t t[3];
28
29 // 쓰레드 생성
30 for(i=0; i<3; i++)
31 pthread_create(&t[i], NULL, Hello, NULL);
32
33 // 메인 출력
34 for(i=0; i<10; i++)
35 {
36 printf("(Main)Hello World!!\n");
37 sleep(rand()%5);
38 }
39
40 // 쓰레드가 끝나기를 기다림
41 for(i=0; i<3; i++)
42 pthread_join(t[i], NULL);
43
44 return 0;
45 }