gpt4 book ai didi

objective-c - OSX 上已弃用的多处理服务的 Cocoa 或 Carbon 替代等价物是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 20:03:34 24 4
gpt4 key购买 nike

所以我正致力于从非常旧的 C++/Carbon 代码更新一个大型项目,并且我不断遇到已弃用的函数。

所以我想这个问题有两个方面。

直接的问题是:

应该使用什么来代替 10.7 中弃用的以下函数?是否有 Cocoa 等价物或更新的 Carbon 等价物?

MP创建事件MP删除事件MP等待事件MPSet事件

问题的第二部分是,在 Apple 开发者网站或其他地方,我是否可以找到更多关于在旧代码被正式弃用的情况下应该使用什么的信息?

最佳答案

首先,您应该阅读 Concurrency Programming Guide .有多种方法可以在 Cocoa 应用程序中实现并发,该指南对它们进行了详细解释。

可能最接近 Carbon 函数的是各种 Grand Central Dispath (GCD) 函数,它们允许您通过传递 Objective-C block 在后台进程中运行代码:

dispatch_queue_t aQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(aQueue, ^{
NSLog(@"Do some work in the background here.");
});

这在并发文档中都有详细解释。不幸的是,我找不到任何关于弃用 Multiprocessing API 的文档。但是,该 API 非常古老,可以追溯到 Mac OS X 之前,我怀疑 Apple 假设使用它的大部分代码早已过时。我不羡慕你的任务!

请注意,GCD 和 block 是在 10.6 中引入的。如果出于某种原因您需要支持 10.5,您可以使用该版本操作系统中引入的 NSOperation 方法。这些不像 GCD 那样易于使用,但它们可以实现类似的结果。 NSOperation 仍然可用,并且非常适合某些用例。

关于objective-c - OSX 上已弃用的多处理服务的 Cocoa 或 Carbon 替代等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9660050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com