在开发中,我们经常会使用线程去处理一些问题,比如耗时的操作,并发执行的操作等。使用线程会让程序变得更有效率。简单记录下三种多线程编程,如有错误或不足,欢迎指正。
第一种方式:使用NSThread。
第二种方式:使用NSOperation。
第三种方式:使用GCD。即Grand Central Dispatch。
1,NSThread使用
NSThread初始化,可以使用对象方法- (id)initWithTarget:(id)target selector:(SEL)selector object:(id)argument
第一个参数:指定的selector发送的目标对象,第二个参数:指定方法名,第三个参数:方法自带的参数。参数只能是一个并且方法不能有返回值。
通过初始化的NSThread的对象再调用-(void)start就可以启动这个线程。
还可以使用类方式去初始化并且立马启动线程。+(void)detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument
三个参数与上面一样。还有其他一些方法可以参考苹果官方文档对NSThread类的详细描述。
这种方式的线程同步时需要考虑到死锁问题。