当前位置: 技术问答>linux和unix
条件变量和互斥量区别
来源: 互联网 发布时间:2016-04-29
本文导语: 最近刚学linux编程,看到条件变量,怎么感觉条件变量和互斥量差不多啊,用条件变量的地方我感觉可以用互斥量代替啊,都是为了防止竞争发生,不知道条件变量和互斥量的区别,哪位给解释一下,越详细越好,谢...
最近刚学linux编程,看到条件变量,怎么感觉条件变量和互斥量差不多啊,用条件变量的地方我感觉可以用互斥量代替啊,都是为了防止竞争发生,不知道条件变量和互斥量的区别,哪位给解释一下,越详细越好,谢谢了!
|
mutex:同一个时刻只有一个线程可以获得lock
conditional var:可以用好多线程同时等待,可以用pthread_cond_broadcast来通知所有等待的线程。
mutex:会锁住cpu,所以适宜short period的lock
conditional var:如果条件不成立的话,会休眠(跟pthread_mutex_xxx联合用的,在休眠之前会释放mutex)
看看:
https://computing.llnl.gov/tutorials/pthreads/#MutexOverview
conditional var:可以用好多线程同时等待,可以用pthread_cond_broadcast来通知所有等待的线程。
mutex:会锁住cpu,所以适宜short period的lock
conditional var:如果条件不成立的话,会休眠(跟pthread_mutex_xxx联合用的,在休眠之前会释放mutex)
看看:
https://computing.llnl.gov/tutorials/pthreads/#MutexOverview
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。