linux如何实现线程同步

2025-11-05 08:13:50

1、实现线程同步的思路

1) 创建两个线程

2) 线程同步。线程1,条件等待。线程2,激发条件。

2、创建线程的接口函数

类库:#include <pthread.h>

原型:

int pthread_create(pthread_t * thread, const pthread_attr_t * attr, 

     void * (*start_routine)(void*)), void * arg);

参数:

thread            -> 线程ID

attr                 -> 线程属性

start_routine  -> 线程函数

arg                  -> 线程入参 

3、条件变量的接口函数

类库:#include <pthread.h>

1) 创建

pthread_cond_t qready = PTHREAD_COND_INITIALIZER;   

2) 等待

int pthread_cond_wait(pthread_cond_t * cond, pthread_mutex_t * mutex);

3) 激发

int pthread_cond_signal(pthread_cond_t * cond);

4、实现线程同步

备注:条件变量创建,采用静态方式。激发条件,采用激活一个线程。

linux如何实现线程同步

linux如何实现线程同步

linux如何实现线程同步

5、编译

[root]#g++ -o demo main.cpp -lpthread

linux如何实现线程同步

6、运行

备注:符合预期,测试OK!

linux如何实现线程同步

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢