【发布时间】:2010-06-17 00:30:41
【问题描述】:
互斥锁是否保证按到达的顺序执行线程?
也就是说,如果线程 2 和线程 3 到达正在等待,而线程 1 处于临界区
如果线程 2 在线程 3 之前到达互斥锁,线程 1 退出临界区后究竟会发生什么,线程 2 将被允许在线程 3 之前进入临界区?
或者会发生竞态条件?
如果不能保证,我该如何解决? (可能要排队?)
【问题讨论】:
-
我认为使用队列并不难。进入临界区时,只需进入队列并等待直到你被调用。
标签: c multithreading