dispatch_suspend/dispatch_resume

dispatch_suspend/dispatch_resume

当追加大量处理到Dispatch Queue时,在追加处理的过程中,有时希望不执行已追加的处理。例如演算结果被Block截获时,一些处理会对这个演算结果造成影响。

在这种情况下,只要挂起Dispatch Queue即可。当可以执行时再恢复。

dispatch_suspend函数挂起指定的Dispatch Queue。

dispatch_suspend(queue);


dispatch_resume函数恢复指定的Dispatch Queue。

dispatch_resume(queue);


这些函数对已经执行的处理没有影响。挂起后,追加到Dispatch Queue中但尚未执行的处理在此之后停止执行。而恢复则使这些处理能够继续执行。

你可能感兴趣的:(dispatch_suspend/dispatch_resume)