linux创建多个进程后创建多线程
时间: 2023-07-31 07:11:03 浏览: 108
在 Linux 中,可以使用 fork() 系统调用创建多个进程。每个进程都是独立运行的,可以在进程内部创建多个线程。
要在进程中创建线程,可以使用 pthread 库。以下是一个简单的示例代码:
```
#include <pthread.h>
#include <stdio.h>
void *thread_function(void *arg)
{
printf("Hello from thread\n");
return NULL;
}
int main()
{
int i;
pthread_t thread_id;
for (i = 0; i < 5; i++) {
if (pthread_create(&thread_id, NULL, thread_function, NULL) != 0) {
printf("Error creating thread\n");
return 1;
}
}
pthread_exit(NULL);
return 0;
}
```
这个程序会创建五个线程,每个线程都会输出一条消息。可以使用 ps 命令查看进程和线程的运行情况:
```
$ ps -eLf
UID PID PPID LWP C NLWP STIME TTY TIME CMD
user 10591 10590 10591 0 5 14:29 pts/0 00:00:00 ./a.out
user 10591 10590 10592 0 5 14:29 pts/0 00:00:00 ./a.out
user 10591 10590 10593 0 5 14:29 pts/0 00:00:00 ./a.out
user 10591 10590 10594 0 5 14:29 pts/0 00:00:00 ./a.out
user 10591 10590 10595 0 5 14:29 pts/0 00:00:00 ./a.out
```
可以看到,每个进程都有五个线程运行。
阅读全文