use*_*947 1 c operating-system
对于c编程,如果我想协调两个并发执行的进程,我可以使用sleep().但是,我听说sleep()不是一个好主意来实现进程之间的事件顺序?有什么理由吗?
sleep()不是协调功能.从来没有.sleep()让你的过程做到这一点 - 进入睡眠状态,在一段时间内根本不运行.
你被误导了.也许你的消息来源指的是在获取锁失败后所谓的退避,在这种情况下随机化sleep可能是合适的.
通常在进程之间建立相对事件排序的方式(即,创建一个先发生的边缘)是使用并发控制结构,例如仅在某一点引发的条件变量,或者是一个更加钝的障碍,导致每个线程击中它等待所有其他线程也到达程序中的那一点.
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |