您需要在 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 中使用具有串行队列的块的问题…
如何“打破”超出dispatch_apply()?
有没有办法在 break 语句#//apple_ref/c/func/dispatch_apply" rel="noreferrer">dispatch_apply() 块? 例如,我见过的每个处理枚举块的 Cocoa API …
NSThread vs. NSOperationQueue vs. ???在 iPhone 上
目前我正在使用 NSThread 在另一个线程中缓存图像。 [NSThread detachNewThreadSelector:@selector(cacheImage:) toTarget:self withObject:image] 或…
如何指定 NSDictionary 的keysOfEntriesPassingTest 所需的块对象/谓词?
出于学习(尚不实用)的目的,我想在 NSDictionary 上使用以下方法,通过我定义的测试返回一组具有值的键。不幸的是不知道如何指定谓词。 NSDictionar…
GCD 和 AppleEvents / NSOperationQueue 和 AppleScript
据我了解,GCD 提供的线程确实有一个运行循环,但没有源/端口。现在我使用一些通过 NSOperationQueue 内的 AppleEvents 调用 AppleScripts 的方法。有…
Grand Central Dispatch (`libdispatch`) 可以在 Windows 上使用吗?
我正在研究多线程,GCD 似乎是一个比使用 pthread.h 和 pthreads-win32 手动编写解决方案更好的选择。然而,尽管看起来 libdispatch 正在或即将在大多…
Grand Central Dispatch 中的线程数和线程数
我正在使用 C 和 Grand Central Dispatch 来并行化一些繁重的计算。如何获取GCD使用的线程数?另外是否可以知道一段代码当前在哪个线程上运行?基本上…
当我使用并行代码时,为什么我的计算机没有显示加速?
所以我意识到这个问题听起来很愚蠢(是的,我使用的是双核),但我尝试了两个不同的库(Grand Central Dispatch 和 OpenMP),并且当使用 Clock() 对…
pthreads 与 GCD 相比有什么优势吗?
最近学习了 Grand Central Dispatch,我发现多线程代码非常直观(使用 GCD)。我喜欢这样的事实:不需要锁(并且它内部使用无锁数据结构),并且 API …
如何使用 Grand Central Dispatch 并行化数独求解器?
作为编程练习,我刚刚编写了一个使用回溯算法的数独求解器(请参阅 Wikipedia 获取用 C 编写的简单示例)。 为了更进一步,我想使用 Snow Leopard 的 …