您的位置:首页 > 编程语言

创建线程的简单代码

2012-07-23 21:47 176 查看
#include <unistd.h>
#include <string.h>
#include <errno.h>
#include <sys/times.h>
#define NTHREADS 5

void *thread_fun(void *num) {
int i = *(int *)num;
printf("Thread %d\n", i); // Or pthread_self()
// ...
// More thread-specific code
// ...
pthread_exit(NULL); // Or simply return NULL
}

pthread_t threads[NTHREADS];
int main(int argc, char *argv[]) {
pthread_attr_t attr;
int i, error;
for (i = 0; i < NTHREADS; i++) {
pthread_attr_init(&attr);
int *ii = malloc(sizeof(int)); *ii = i;
error = pthread_create(&threads[i], &attr, thread_fun, ii);
if (error != 0) {
fprintf(stderr, "Error in pthread_create: %s \n",strerror(error));
exit(1);
}
}
for (i=0; i < NTHREADS; i++) {
error = pthread_join(threads[i], NULL);
if (error != 0) {
fprintf(stderr, "Error in pthread_join: %s \n", strerror(error));
exit(1);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  thread null join fun include