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
命名空间: 并发