linux如何实现线程同步
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、实现线程同步
备注:条件变量创建,采用静态方式。激发条件,采用激活一个线程。



5、编译
[root]#g++ -o demo main.cpp -lpthread

6、运行
备注:符合预期,测试OK!

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