关于iPhone中线程编程的问题

时间:2011-12-28 00:35:22

标签: iphone objective-c ios multithreading cocoa-touch

1)是否可以让一个线程只能运行自己的一个实例?例如,如果我将手势识别器附加到用户点击屏幕时响应的视图,并且在委托方法中运行一个执行某些动画的线程,如果用户再次点击屏幕(初始动画正在运行时) ,初始线程被取消,并从一开始基本上再次运行? (即我实现的线程不能运行两个版本)

2)是否可以让一个线程取消另一个线程或从程序中的任何位置停止一个线程?

1 个答案:

答案 0 :(得分:0)

要回答两个问题,请参阅http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsthread_Class/Reference/Reference.html

如果你想手动管理线程,你有NSThread类的实例方法,比如cancel,isCancelled,setThreadPriority,这可能很有用。

有很多文章解释了为什么线程被认为是邪恶的。请考虑使用GCD机制。

参考Concurrency Programming Guide