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