C语言多线程运行详解

pthread_t:用来定义一个线程类型的变量

用法 pthread_t x1;

pthread_create:建立线程,它有4个参数

pthread_create(&temp, NULL, print_b, NULL);

第一个参数为指向线程标识符的指针,第二个参数用来设置线程属性,第三个参数是线程运行函数的起始地址,最后一个参数是运行函数的参数。这里,我们的函数thread不需要参数,所以最后一个参数设为空指针。第二个参数我们也设为空指针,这样将生成默认属性的线程。

pthread_join:用来等待一个线程的结束,也可以理解为线程开始

第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。

pthread_join(threadPool[i], &result);

pthread_exit:一个线程的结束有两种途径,一种函数结束了,调用它的线程也就结束了;另一种方式是通过函数pthread_exit来实现

下面代码是C语言多(3个及以上)线程(建立线程池)实现:

就像生产者和消费者问题一样,需要多个生产者和消费者。

结果:

 

 

一条评论

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注