2013-04-02 18 views
0

当我第一次了解NSZone和它是什么时,我对使用区域隔离线程的内存空间的前景感到非常兴奋,因此我可以有效地杀死一个线程并释放它的区域。但似乎NSZone不能真正用于这个目的。Objective-C线程和NSZones

所以我想知道是否有任何方法将Objective-C中的线程隔离到可以安全杀死和处理的特定内存块?

失败的是,有没有办法在Objective-C中产生子进程(它确实有自己的内存空间),类似于Chrome如何执行操作?

+3

NSZone已经被****时间抛弃了,我的朋友。 – CodaFi

+0

无赖......... – devios1

回答

2

进程间通信对于您要实现的内容来说太具有挑战性。只要你只是寻找一些你可以取消和释放的工作,NSThread的子类就是完美的。通过覆盖-main,你可以拥有NSOperation的所有好处(不是完全关心哪个线程工作发生,从实际的线程,封装等抽象出来),而是以更具体和可取消的形式。

+0

具有挑战性,我很好奇,想了解更多。 – devios1

+0

OS X进程是通过launchd或其他应用程序启动的守护进程。如果是前者,你可以使用NSTask,或者坚持使用更低级别的讨厌的UNIX,如果后者是[使用XPC](http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/) BPSystemStartup/Chapters/CreatingXPCServices.html) – CodaFi

+0

非常酷,谢谢。 – devios1