cocoa提供了NSOperation和NSOperationQueue用来实现多线程,它们封装了NSThread。
可以把一个任务定义为一个类:
@interface MyOperation : NSOperation {//让它继承NSOperation int num; } - (ID)initWithNum:(int)newNum; @end
NSOperation代表一个线程,你需要实现它的main函数:
@implementation MyOperation int)newNum{ if ((self = [super init])) { num = newNum; } return self; } - (voID)main{ for (Byte i = num; i < 100; i++) { NSLog(@"%d\n",i); [NSThread sleepForTimeInterval:1]; @end
main函数负责完成线程的任务。
然后你可以在主线程中启动子线程:
MyOperation *operation = [[MyOperation alloc] initWithNum:0]; NSOperationQueue *queue = [[[NSOperationQueue alloc] init] autorelease]; [queue addOperation:operation]; 通过addOperation方法把NSOperation加入到NSOperationQueue中,就会自动启动线程。 总结
以上是内存溢出为你收集整理的objective-c 简单实现多线程(线程池)全部内容,希望文章能够帮你解决objective-c 简单实现多线程(线程池)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)