2015-01-08 77 views
0

dispatch_after是否將操作放入隊列中?也就是說,如果我在多次調用之後調度dispatch_async,那麼它們是否會執行,就好像每個調度器在延遲之後都放在dispatch_async中一樣?dispatch_after將操作放入隊列中嗎?

+4

您是否閱讀過'dispatch_after'的文檔?它指出:*該函數等待指定的時間,然後將塊異步添加到指定的隊列。* – rmaddy

+0

@rmaddy oops,感謝rtfm評論。 – Boon

回答

1

如果你看看簽名:

void dispatch_after (dispatch_time_t when, dispatch_queue_t queue, dispatch_block_t block); 

你可以看到,你需要提供一個隊列上運行的塊。該文檔說該參數不能爲NULL。所以是的,操作被放置在一個隊列上 - 你告訴它運行的隊列。

另外,正如文檔所述,該塊被異步添加到隊列中,所以是的,它與延遲後的dispatch_async相同。

相關問題