当前位置:  开发笔记 > 编程语言 > 正文

OS X线程间通信问题

如何解决《OSX线程间通信问题》经验,为你挑选了1个好方法。

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



1> Ben Gottlieb..:

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

使用NSObject的performSelectorOnMainThread:withObject:waitUntilDone:这是非常自我解释的.

使用performSelector:onThread:withObject:waitUntilDone :,这将让你走另一条路

使用NSNotification(和NSDistributedNotificationCenter),但如果你不小心你很容易遇到竞争状态

使用NSPorts来回发送数据

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

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有