并发中的先验条件

先验条件:在执行某些逻辑前需要满足的变量状态。例如,不能从空队列中删除元素,在删除元素前,队列必须处于非空的状态。

如果在某个操作中包含有基于状态的先验条件,那么这个操作就称为依赖状态的操作。

在单线程中,某个操作无法满足先验条件,只能失败。但是在并发程序中,先验条件可能会由于其他线程执行的操作变成真。在并发程序中要一直等到先验条件为真,才能执行操作,可以利用BlockingQueue、Semaphore等同步工具来实现这种操作。

猜你喜欢

转载自blog.csdn.net/Wengzhengcun/article/details/86748126