dispatch_after将操作置于队列中吗?也就是说,如果我在多次调用后重新调度,它们是否会执行,就好像每次调用都会在延迟后放入dispatch_async一样?
答案 0 :(得分:1)
如果你看一下签名:
void dispatch_after ( dispatch_time_t when, dispatch_queue_t queue, dispatch_block_t block );
您可以看到需要提供一个队列来运行该块。文档说这个参数不能为NULL。所以是的,操作被放在一个队列上 - 你告诉它运行的队列。
此外,正如文档所述,该块是异步添加到队列中的,所以是的,它与延迟后的dispatch_async相同。