欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

ios线程有关问题

更新时间: 2014-01-05 02:37:37 责任编辑: Author_N1

 

ios线程问题
使用NSOperationQueue 添加了几个多线程问题,出现了死锁现象

如果让线程第一个执行完,在执行第二个,第二个执行完执行第三个,我的代码如下
if(isUpdateTest)
{
Test *test=[[[Test alloc]init]autorelease];
[queue addOperation:test];
}

if(isUpdateTest2)
{
Test *test2=[[[Test alloc]init]autorelease];
[queue addOperation:test2];
}


if(isUpdateTest3)
{
Test *test3=[[[Test alloc]init]autorelease];
[queue addOperation:test3];
}


--参考方法--
既然是顺序执行,为什么要建多线程?
纯属逻辑短路!
--参考方法--
引用:
既然是顺序执行,为什么要建多线程?
纯属逻辑短路!

+1 搞不懂

--参考方法--
我记得NSOperationQueue有个最大并行数的属性可以设置的 叫什么Max什么的。记不清了。可以查下sdk,很容易找到。把最大并行数设成1之后NSOperationQueue就等于是顺序执行的,只要你每个NSOperation都采取同步执行就可以实现你要的效果;如果operation里面还存在异步,那么逻辑就会有点复杂,NSOperationQueue会顺序执行每个NSOperation,当这个NSOperation执行到异步的地方时NSOperationQueue就会开始下一个NSOperation的流程,不会等到NSOperation中的异步部分回调完成。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:37:37
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/12335/
本文WWW.DOC100.NET DOC100.NET版权所有。