1

我已经使用detachNewThreadSelector方法在我的应用程序中创建线程。在某个时间点,当用户从应用程序中注销时,我应该杀死应用程序中所有正在运行的线程。我怎样才能实现它?

4

2 回答 2

4

如果你和你一起创建一个线程,detachNewThreadSelector你几乎必须让它自己完成:(

如果您希望能够控制后台任务,一个更好的选择是NSOperationQueue- 使用它您可以将取消消息传递给操作。

苹果文档在这里


编辑:如果您不想使用 NSNotificationCenter,您可以设置一个标志,让您的后台线程定期检查,如果设置了,它们将自行退出。但是,您必须小心那里的线程安全:)

于 2012-08-21T12:43:22.093 回答
0
  1. 使用“普通” NSThread 构造函数 - (id)initWithTarget:... 并保存您的线程对象。
  2. 或者在线程启动后将线程对象保存在某处。
  3. 根本不保存线程对象,只需使用一些单独的标志,您将检查您的线程并退出它们。
于 2012-08-21T12:50:40.133 回答