Context::Unblock 方法
取消阻止上下文并使其可运行。
virtual void Unblock() =0;
备注
在对 Block 方法进行相应调用之前调用 Unblock 方法是相当合法的。 只要对 Block 和 Unblock 方法的调用恰当地配对,运行时就会正确处理任何顺序的自然争用。 在 Block 调用简单地否定 Block 调用的效果之前进行的 Unblock 调用。
该方法可引发数种异常。 如果上下文尝试调用本身的 Unblock 方法,则会引发 context_self_unblock 异常。 如果调用 Block ,并 Unblock 未正确对 (例如,两个调用。 Unblock 为当前运行) 的上下文中, context_unblock_unbalanced 会引发异常。
请注意,代码为另一个线程发布其上下文以调用 Unblock 方法与实际调用 Block 方法之间的重要时间段。 在此时间段内,不能调用例如可以为自己的原因而阻止和取消阻止的任何方法 (,获取锁)。 对 Block 和 Unblock 方法的调用不跟踪阻止和取消阻止的理由。 只有一个对象应拥有 Block 和 Unblock 对的所有权。
要求
**标头:**concrt.h
命名空间: 并发