gpt4 book ai didi

cocoa - OS X 线程间通信问题

转载 作者:行者123 更新时间:2023-12-03 16:17:46 25 4
gpt4 key购买 nike

我正在 Cocoa 中开发一个多线程应用程序。主线程从用户处获取值,当单击按钮时,我会调用一个辅助线程,在其中进行长时间计算。现在,我必须从这个线程将每一步计算的输出返回到主线程。我想定期从一个线程向另一个线程发送数据。我找不到任何简单的例子来做到这一点。有什么想法吗?

最佳答案

有很多方法可以做到这一点,按照复杂程度的粗略顺序(最简单的在前):

  • 使用 NSObject 的 PerformSelectorOnMainThread:withObject:waitUntilDone: 这是非常不言自明的。
  • 使用performSelector:onThread:withObject:waitUntilDone:,这会让你走另一条路
  • 使用 NSNotification(和 NSDistributedNotificationCenter),但如果不小心,很容易遇到竞争情况
  • 使用 NSPorts 来回发送数据

查看 Abizer 提到的文档,了解所有这些内容的详细信息。

关于cocoa - OS X 线程间通信问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/349142/

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