Linux创建一个新线程
时间: 2023-10-28 18:01:09 浏览: 89
在 Linux 中,可以使用 pthread 库来创建新线程。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *thread_function(void *arg) {
printf("This is a new thread.\n");
pthread_exit(NULL);
}
int main() {
pthread_t thread;
int result = pthread_create(&thread, NULL, thread_function, NULL);
if (result != 0) {
printf("Error creating thread.\n");
exit(EXIT_FAILURE);
}
printf("This is the main thread.\n");
pthread_exit(NULL);
}
```
在这个程序中,我们定义了一个名为 `thread_function` 的函数来执行新线程的代码。然后,在 `main` 函数中,我们使用 `pthread_create` 函数来创建新线程,并将 `thread_function` 函数作为新线程的入口点。`pthread_create` 函数的第一个参数是指向线程标识符的指针,第二个参数是用来设置线程属性的指针,第三个参数是指向线程函数的指针,最后一个参数是传递给线程函数的参数。如果创建线程成功,`pthread_create` 函数返回 0,否则返回一个非零值。
在主线程中,我们打印一条消息,然后调用 `pthread_exit` 函数来等待新线程结束。在新线程中,我们也打印一条消息,然后调用 `pthread_exit` 函数来结束线程。注意,新线程函数必须以 `void *` 类型返回,即使不需要返回任何值。
阅读全文