线程
MaxLiuZhenGuo
我喜欢简单直白,不冗余繁杂。
展开
-
pthread_setcancelstate()和pthread_setcanceltype()
线程转载 2017-04-11 11:44:20 · 5825 阅读 · 1 评论 -
C语言实现简单的线程池
线程池原创 2017-04-05 17:58:44 · 425 阅读 · 0 评论 -
pthread_cond_signal()和pthread_cond_wait()的典型使用方法
pthread_cond_signal()和pthread_cond_wait()的典型使用方法pthread_mutex_t mtx;pthread_cond_t cond;线程A中通知的执行的操作s = pthread_mutex_lock(&mtx)if (s != 0)err_exit();a++;/*谓词条件*/……do s转载 2017-04-06 10:17:17 · 10840 阅读 · 1 评论 -
POSIX线程-条件变量(一)
为什么使用条件变量(condition variable)想想我们怎么实现下面的场景:当线程A需要通知线程B某件事情已经准备好,我们该怎么做? 我们通常的做法是:设置一个全局变量V,如果线程A已经准备好了某件事,则把V设置为1;线程B则不停得检测V,直到V变为1再继续下面的操作。这种做法的缺点是非常的浪费CPU,因为线程B需要不停的busy loop。 为了改善这种状况,引入了转载 2017-04-06 10:26:34 · 300 阅读 · 0 评论 -
POSIX线程-互斥量
为什么需要互斥量线程最大的好处是它们可以通过全局变量来共享信息。但这个好处也带来了麻烦:有可能很多线程同时修改某一个全局变量,导致该全局变量出现错误。我们必须制定某些规则,使线程对该全局变量的修改不会导致错误。这个规则就是--同步。POSIX线程使用互斥量来进行同步,“经验表明,正确使用互斥量比使用通用信号灯之类的其他同步模型要容易,还能很容易地使用互斥量与条件变量建立任何同步模型”—PO转载 2017-04-06 10:31:52 · 604 阅读 · 0 评论 -
再谈互斥锁与条件变量!
pthread_cond_wait总和一个互斥锁结合使用。在调用pthread_cond_wait前要先获取锁。pthread_cond_wait函数执行时先自动释放指定的锁,然后等待条件变量的变化。在函数调用返回之前,自动将指定的互斥量重新锁住。int pthread_cond_signal(pthread_cond_t * cond);pthread_cond_signal通过转载 2017-06-02 15:10:11 · 242 阅读 · 0 评论