objective-c 简单实现多线程(线程池)

objective-c 简单实现多线程(线程池),第1张

概述cocoa提供了NSOperation和NSOperationQueue用来实现多线程,它们封装了NSThread。 可以把一个任务定义为一个类: @interface MyOperation : NSOperation {//让它继承NSOperation       int num;   }   - (id)initWithNum:(int)newNum;   @end NSOperation

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 简单实现多线程(线程池)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存