Linux创建一个新线程
时间: 2023-10-28 19:19:46 浏览: 38
在Linux中,要创建一个新线程可以使用pthread库提供的函数。下面是一个简单的示例代码:
```c
#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
void *my_thread_func(void *arg) {
printf("New thread created!\n");
return NULL;
}
int main() {
pthread_t my_thread;
int ret;
ret = pthread_create(&my_thread, NULL, my_thread_func, NULL);
if (ret != 0) {
printf("Failed to create thread.\n");
return 1;
}
sleep(1);
printf("Main thread exiting.\n");
return 0;
}
```
在这个示例代码中,我们定义了一个函数my_thread_func作为新线程的入口点。当新线程被创建时,它将运行这个函数并输出一条消息。
在主线程中,我们调用pthread_create函数来创建一个新线程。这个函数接受四个参数:第一个参数是一个指向pthread_t类型变量的指针,用于存储新线程的ID;第二个参数是线程属性,我们使用默认值NULL;第三个参数是新线程的入口点函数;第四个参数是传递给入口点函数的参数。
如果pthread_create函数返回0,表示新线程创建成功。我们可以使用pthread_join函数等待新线程结束,或者让主线程休眠一段时间后直接退出,让所有线程自动结束。