#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);
}
}
}
创建线程的简单代码
最新推荐文章于 2023-11-19 20:23:44 发布