如何“打破”超出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 的 …
Snow Leopard 和 Leopard 的一个代码库
背景 我是一名开发人员,正在为 Mac 构建应用程序而苦苦挣扎。我马上就要拿到雪豹了。到目前为止,我一直在 Leopard 上进行构建。我只进行了大约一年…
Grand Central Dispatch 到底如何使用操作系统?
我很清楚 GCD 是如何工作的,但我想更多地了解所谓的“操作系统管理”内部结构。似乎几乎所有关于 Grand Central Dispatch 如何与“操作系统”一起工…
调度队列:如何判断它们是否正在运行以及如何停止它们
我只是在玩 GCD,并且编写了一个 CoinFlipper 玩具应用程序。 下面是抛硬币的方法: - (void)flipCoins:(NSUInteger)nFlips{ // Create the queues fo…
不同的编程语言如何使用闭包?
据我所知,结合别人的知识,主流语言中 Objective C C# VB.net Java Python Ruby Javascript Lisp Perl 都有闭包和匿名函数。普通 C/C++ 不具备其中任…
为什么我应该使用 Grand Central Dispatch 而不是 OpenMP?
Apple 在 Snow Leopard 中引入了 Grand Central Dispatch(一种线程池),但没有深入探讨为什么应该在 OpenMP 上使用它,因为 OpenMP 是跨平台的,也…