pthread vs NSThread:速度更快

Rea*_*ion 2 c++ cocoa multithreading pthreads nsthread

在Cocoa中,NSThread是否比pthread更快?是否有任何性能提升?是忽略不计的吗?

Dav*_*ong 10

我没有数据可以支持这一点,但是我会说出"他们是等同的". NSThread几乎可以肯定包装pthread(有没有其他方法来创建系统线程?),因此使用NSThread与pthread的任何开销都将与创建新对象然后销毁它相关联.一旦线程本身启动,它在性能方面就应该完全相同.

我认为这里真正的问题是:"为什么你需要知道?" 您是否遇到过产卵NSThread似乎对您的表现有害的某些情况?(如果你产生了数百个线程,我可以看到这是一个问题,但在这种情况下,数百个线程很可能是你的问题,而不是NSThread对象)

除非你有证据证明NSThread对象的创建是你的应用程序的瓶颈,否则我肯定会选择"可以忽略不计"的选项.

  • 在实例化之后,除了非常少量的开销之外,两者之间实际上没有差别.如果在您的应用程序中可以测量实例化开销,那么您做错了.具体来说,你不应该迅速产生并杀死线程 - 非常低效. (3认同)