使用c的标准库函数创建线程

#include 
#include 
#include 

int thrd_proc(void * varg){
	 
	// 打印10次
    int times = 10;
	struct timespec ts = {1,0}; // 1秒, 0纳秒
	
	while(times--){
		printf("%s\n",(char *)varg);
		
		// 每隔1秒,打印一次
		thrd_sleep(&ts,0);
	}
}

// 使用c的标准库函数创建线程
int main(void)
{
    thrd_t t1, t2;
	
	printf("hello\n");
	thrd_create(&t1, thrd_proc, "thread 1");
	thrd_create(&t2, thrd_proc, "thread 2");
	
	thrd_join(t1,0);
	thrd_join(t2,0);
	
    return 0;
}

gcc mainthread.c 编译报错。
使用c的标准库函数创建线程_第1张图片

gcc mainthread.c -lpthread 加上 -lpthread 后,即编译正常.
使用c的标准库函数创建线程_第2张图片

./a.out 运行程序,正常运行
使用c的标准库函数创建线程_第3张图片

你可能感兴趣的:(c语言,开发语言)