- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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.
您可能关注的文档
- 2012年中级经济法讲义 2012年中级经济法 强化班讲义 第八章 相关法律制度.pdf
- 2013年山东高速山东雪野湖项目启动区报告.pdf
- 2013年天安人寿红天利A款两全保险介绍.pdf
- 2014年跨境电商融资一览.pdf
- 2016年Q1家电行业研究报告.pdf
- A 股市场策略研究报告结构行情延续热点精彩纷呈.pdf
- E-605-Ser电源总线系统.pdf
- EITT培训师训练课程.pdf
- FDI丶出口与区域经济增长——异质面板“格兰杰”因果检验的应用.pdf
- GE公司总裁经营成功十大秘诀-美国通用.pdf
- 2024年原阳县葛埠口乡人民政府招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年渝北区经济和信息化委员会综合管理职位招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年雁塔区委网络安全和信息化委员会办公室二级主任科员招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年西华县李大庄乡人民政府一级科员招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年万州区乡镇机关综合管理职位招录3人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年范县王楼镇人民政府招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年寻乌县司法局司法行政岗招录1人《行政职业能力测验》高频考点、难点(含详细答案).docx
- 2024年嵩县公安局执法勤务类一级警长招录1人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年清丰县阳邵镇人民政府(人武专干)招录2人《行政职业能力测验》高频考点、难点(答案详解版).docx
- 2024年祁东县公安局文字综合招录2人《行政职业能力测验》高频考点、难点(含详细答案).docx
文档评论(0)