iPhone开发之多线程NSThread和NSInvocationOperation.pdf

iPhone开发之多线程NSThread和NSInvocationOperation.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iPhone开发之多线程NSThread和NSInvocationOperation 多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存在很 多的毛 ,包括线程锁死等。在Cocoa 中,Apple提供了NSOperation这个类,提供了一个 优秀的多线程编程方法。 多线程编程是防止主线程堵塞,增加运行效率等等的最佳方法。而原始的多线程方法存 在很多的毛 ,包括线程锁死等。在Cocoa 中,Apple提供了NSOperation这个类,提供了 一个优秀的多线程编程方法。 本次介绍NSOperation 的子集,简易方法的NSInvocationOperation: 1. @implementation MyCustomClass 2. 3. -(void)launchTaskWithData:(id)data 4. 5. { 6. 7. //创建一个NSInvocationOperation对象,并初始化到方法; 8. 9. //在这里,selector 参数后的值是你想在另外一个线程中运行的方法 (函数, Method); 10. 11. //在这里,object后的值是想传递给前面方法的数据 12. 13. NSInvocationOperation *theOp = [[NSInvocationOperation alloc]initWi thTarget:self selector:@selector(myTashMethod:) object:data]; 14. 15. //下面将我们建立的操作Operation加入到本地程序的共享的队列中(加入后方法就会立 刻被执行) 16. 17. //更多的时候是由我们自己建立“操作”队列 18. 19. [[MyAppDelegate sharedOperationQueue] addOperation:theOp]; 20. 21. } 22. 23. 24. 25. //这个是真正运行在另外一个线程的“方法” 26. 27. 28. 29. - (void)myTaskMethod:(id)data 30. 31. { 32. // Perform the task. 33. 34. } 35. 36. @end 37. 38. 39. 40. //一个NSOperationQueue 操作队列,就相当于一个线程管理器,而非一个线程。因为你可 以设置这个线程管理器内可以并行运行的的线程数量等等。 41. 42. //下面是建立并初始化一个操作队列: 43. 44. @interface MyViewController : UIViewController { 45. 46. 47. 48. NSOperationQueue* operationQueue; 49. 50. //在头文件中声明该队列 51. 52. } 53. 54. @end 55. 56. 57. 58. @implementation MyViewController 59. 60. 61. 62. -(id)init 63. { 64. 65. self = [super init]; 66. 67. if (self) { 68. 69. //初始化操作队列 70. 71. operationQueue = [[NSOperationQueue alloc] init]; 72. 73. [operationQueue setMaxConcurrentOperationCount:1]; 74. 75. //在这里限定了该队列只同时运行一个线程 76. 77.

您可能关注的文档

文档评论(0)

qicaiyan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档