「C」スレッド生成するサンプル
なんとなく C でスレッド生成してみたくなったので書いてみました。
なんか必要になった時に、また時間とられるのイヤなので、とりあえずメモとして残しておきます。
■ threadTest.c
#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <sys/syscall.h> #include <sys/types.h> void *test(void *s); void main(void) { pthread_t p1, p2; char *s1 = "hoge uga !!"; char *s2 = "oro ahe !!"; if((pthread_create(&p1, NULL, test, (void *)s1)) != 0) { printf("1 : thread create fail !!\n"); exit(1); } if((pthread_create(&p2, NULL, test, (void *)s2)) != 0) { printf("2 : thread create fail !!\n"); exit(1); } if((pthread_join(p1, NULL)) != 0) { printf("1 : thread join fail !!\n"); exit(1); } if((pthread_join(p2, NULL)) != 0) { printf("2 : thread join fail !!\n"); exit(1); } exit(0); } void *test(void *s) { int i; char *ss; ss = (char *)s; for(i = 0; i < 5; i++) { printf("%ld : %s\n",syscall(SYS_gettid), ss); sleep(1); } }
C は書き慣れてないせいか難しく感じます・・・
以上です。