我们可以在iPhone应用程序中使用pthread而不是NSThread

时间:2009-11-24 11:01:06

标签: c++ ios objective-c app-store

我有一个同时使用Objective C& C的应用程序。 c ++但是出于可移植性的原因,我尽可能地尝试使用c ++ ....现在我遇到了一些需要线程的问题我想用pthread代替NSThread ...是可以使用pthread吗? Apple会拒绝我在appstore上拒绝我的应用程序来惩罚我吗?

3 个答案:

答案 0 :(得分:7)

无论如何<{> NSThread围绕pthread构建

我看不出任何使用pthread会导致Apple拒绝的原因

答案 1 :(得分:3)

NSThread主要是pthread语义的包装器。

优点: - NSThread退出时的NSThreadWillExitNotification通知 - NSMutableDictionary线程本地存储

限制: - 您只能创建分离的NSThread

请注意,Cocoa需要知道您想要进行多线程。首先分离虚拟NSThread非常重要,因此应用程序可以是considered multi-threaded

答案 2 :(得分:1)

我的应用使用pthread API,将调度策略从SCHED_OTHER更改为SCHED_FIFO,并更改线程的优先级。 效果很好。

但是,我避免在线程中使用Cocoa touch framework API,因为我不知道pthread而不是NSThread的副作用。