新建MyOperation继承NSOperation,重写main函数来进行我们的操作
@interface MyOperation : NSOperation
@end
@implementation MyOperation
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
-(void)main{
for (int i=0; i<100; i++) {
NSLog(@"MyOperation --------%i",i);
[NSThread sleepForTimeInterval:1]; //设置时间sleep间隔
}
}
@end
主线程中调用
NSOperationQueue * queue = [[NSOperationQueue alloc] init]; //新建NSOperationQueue队列
[queue addOperation:[[MyOperation alloc]init]]; //将MyOperation添加至队列中,MyOperation立即开始执行
注意, 我在单元测试中进行线程测试失败,因为单元测试的主线程生命周期短,不可以进行长时间的多线程测试