簡體   English   中英

使塊在串行隊列中等待

[英]Making a block wait in a serial queue

我在GCD中使用串行隊列,例如

dispatch_queue_t myCustomQueue;
myCustomQueue = dispatch_queue_create("com.example.MyCustomQueue", NULL);

dispatch_async(myCustomQueue, ^{
    ....
/* some asyncronus call*/

});

在該塊中,我想撥打一個異步電話,例如播放音頻,

我的主要問題是,一旦我進行異步調用,該塊就不會等待,它會完成整個塊的執行。

我可以讓該塊等待一段時間,直到異步調用返回一些回調

不能等待,但是執行它的線程可以。

查看NSCondition ,它使您可以wait和發signal線程

基本上,您分配一個NSCondition並在該塊中具有[condition wait]; 這將導致線程等待。 然后,當異步操作完成后,您調用[condition signal]; 這將通知等待線程繼續。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM