0
dispatch_after是否將操作放入隊列中?也就是說,如果我在多次調用之後調度dispatch_async,那麼它們是否會執行,就好像每個調度器在延遲之後都放在dispatch_async中一樣?dispatch_after將操作放入隊列中嗎?
dispatch_after是否將操作放入隊列中?也就是說,如果我在多次調用之後調度dispatch_async,那麼它們是否會執行,就好像每個調度器在延遲之後都放在dispatch_async中一樣?dispatch_after將操作放入隊列中嗎?
如果你看看簽名:
void dispatch_after (dispatch_time_t when, dispatch_queue_t queue, dispatch_block_t block);
你可以看到,你需要提供一個隊列上運行的塊。該文檔說該參數不能爲NULL。所以是的,操作被放置在一個隊列上 - 你告訴它運行的隊列。
另外,正如文檔所述,該塊被異步添加到隊列中,所以是的,它與延遲後的dispatch_async相同。
您是否閱讀過'dispatch_after'的文檔?它指出:*該函數等待指定的時間,然後將塊異步添加到指定的隊列。* – rmaddy
@rmaddy oops,感謝rtfm評論。 – Boon