线程同步
文章平均质量分 53
只爱编程的菜鸟
这个作者很懒,什么都没留下…
展开
-
线程同步之条件变量
互斥锁是用来给资源上锁的,而条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。和条件变量使用有关的几个重要函数:int pthread_cond_init(pthread_cond_t *cond,pthread_condattr_t *cond_attr);int pthread_cond_wait(pthread_cond_t *cond,pthread_mutex_t *mutex);int pthread_cond_t原创 2021-02-18 20:37:09 · 113 阅读 · 0 评论 -
线程同步之信号量
信号量和互斥锁(mutex)的区别:互斥锁只允许一个线程进入临界区,而信号量允许多个线程同时进入临界区。要使用信号量同步,需要包含头文件semaphore.h。主要用到的函数:int sem_init(sem_t *sem, int pshared, unsigned int value);,其中sem是要初始化的信号量,pshared表示此信号量是在进程间共享还是线程间共享,value是信号量的初始值。int sem_destroy(sem_t *sem);,其中sem是要销毁的信号量。只有用se原创 2021-02-18 14:32:56 · 90 阅读 · 0 评论