打开多个文件的大中央策略
我有一个使用 Grand Central 调度队列的工作实现,它 (1) 打开一个文件并计算“queue1”上的 OpenSSL DSA 哈希,(2) 将哈希写入新的“side car”文件…
GCD 队列而不是锁:读取 Tableview 的 cellForRowAtIndexPath 数据
Apple 的一个网站建议使用 GCD 队列而不是锁: // Create queue early queue = dispatch_queue_create("com.example.tweets", NULL) // executed main…
如何等待异步分派块完成?
我正在测试一些使用 Grand Central Dispatch 进行异步处理的代码。测试代码如下所示: [object runSomeLongOperationAndDo:^{ STAssert… }] 测试必须…
Grand Central Dispatch (GCD) 和异步 API
我正在使用 Twitter API 来发布推文。有时这可能需要一些时间,所以我想在后台执行“推文发布”操作。为此,我正在使用 GCD,如下所示: - (void)myCl…
GCD 块在调用时触发 EXC_BAD_ACCESS
我正在制作一个非垃圾收集的 MacFUSE Cocoa 应用程序,在其中我想使用 GCD 块作为委托。但是,我的程序在调用该块期间崩溃,只留下 EXC_BAD_ACCESS 。…
如何在延迟后触发块,例如 -performSelector:withObject:afterDelay:?
有没有办法在延迟后调用带有原始参数的块,例如使用 performSelector:withObject:afterDelay: 但使用 int/double< /code>/浮动?…
Grand Central Dispatch - 在线程之间传递数据
我试图在后台运行一个进程来生成一个字符串,然后在主线程中使用该字符串(发送到远程服务器)。该代码在模拟器中运行良好,并且该字符串按预期记录两…
您需要在 GCD 的块内创建 NSAutoreleasePool 吗?
通常,如果您生成后台线程或在 NSOperationQueue 上运行 NSOperation,则需要为该线程或操作创建 NSAutoreleasePool,因为默认情况下不存在。 同样的…
过早退出dispatch_asycn,Grand Central Dispatch
可以说我正在异步调度中运行一些代码。 ..有没有办法在它创建的线程完成之前终止它?就像用户单击取消时一样 dispatch_async(dispatch_get_global_que…
GCD 调度源和 select() 有什么区别?
我一直在编写一些代码来替换一些现有的: while(runEventLoop){ if(select(openSockets, readFDS, writeFDS, errFDS, timeout) > 0){ // check file…
性能测试:sem_t 与dispatch_semaphore_t 和 pthread_once_t 与dispatch_once_t
我想知道使用 pthread_once() 和 sem_wait() 等 POSIX 调用或dispatch_* 函数会更好/更快,所以我创建了一个小测试,然后对结果感到惊讶(问题和结果…
GCD 阻止不更新 NSCollectionView
我有一个 Cocoa 应用程序,它侦听通知并将更新发布到由 NSCollectionView 监视的 NSMutableArray。通知大量到达,因此我正在考虑使用不同的队列来处理…
iOS 4 GCD 问题
我查看了 WWDC 2010 的一些演示文稿,还阅读了有关块和并发性的大部分文档,并且有几个关于在 Grand Central Dispatch 中使用具有串行队列的块的问题…