我正在Cocoa中开发一个多线程应用程序.主线程从用户获取值,当单击一个按钮时,我调用一个辅助线程,在该线程中进行长计算.现在从这个线程我必须将计算的每一步的输出返回到主线程.我想定期从一个线程发送数据到另一个线程.我找不到任何这样做的简单例子.有任何想法吗?
有许多方法可以做到这一点,按照复杂程度的粗略顺序(最简单的第一个):
使用NSObject的performSelectorOnMainThread:withObject:waitUntilDone:这是非常自我解释的.
使用performSelector:onThread:withObject:waitUntilDone :,这将让你走另一条路
使用NSNotification(和NSDistributedNotificationCenter),但如果你不小心你很容易遇到竞争状态
使用NSPorts来回发送数据
查看Abizer提到的文档,了解所有这些的详细信息.