29 lines
796 B
C
29 lines
796 B
C
|
#include <pthread.h>
|
|||
|
#include <stdio.h>
|
|||
|
#include <unistd.h>
|
|||
|
#define NUM_THREADS 5 //线程个数
|
|||
|
|
|||
|
void *say_hello(void *args)
|
|||
|
{
|
|||
|
printf("Hello Runoob!\n");
|
|||
|
sleep(2);
|
|||
|
}
|
|||
|
|
|||
|
int main()
|
|||
|
{
|
|||
|
//定义线程的 id 变量,多个变量使用数组
|
|||
|
pthread_t tids[NUM_THREADS];
|
|||
|
for (int i = 0; i < NUM_THREADS; ++i) {
|
|||
|
sleep(2);
|
|||
|
//参数依次是:创建的线程id,线程参数,调用的函数,传入的函数参数
|
|||
|
int ret = pthread_create(&tids[i], NULL, say_hello, NULL);
|
|||
|
if (ret != 0) {
|
|||
|
printf("pthread_create error: error_code = %d\n", ret);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//等各个线程退出后,进程才结束,否则进程强制结束了,线程可能还没反应过来;
|
|||
|
pthread_exit(NULL);
|
|||
|
}
|
|||
|
//g++ test.cpp -lpthread -o test
|