您的位置:首页 > 其它

编辑文章 - 博客频道 - CSDN.NET

2014-06-01 17:08 197 查看
<span style="white-space:pre">	</span><span style="font-size:18px;">解决主线程柱塞问题时,我们可以使用多线程。 NSThread是Object-C中的多相处了类,但是麻烦的是我们需要管理线程,包括创建线程,线程间的通信和销毁线程等。下面的代码是在ConcurrencyTest工程中使用NSTread创建线程,然后执行100次处理:</span><pre name="code" class="objc">- (IBAction)testNSTread:(id)sender {
[NSTread detachNewThreadSelector:@selector(calculationThreadEntry) toTarget:self withObject:nil];
}
- (void)calculationThreadEntry
{
@autoreleasepool {
NSUInteger counter = 0;
while ([[NSThread currentThread] isCancelled] == NO)
{
[self doCalculation];
count++;
if(count >= 100){
break;
}
}
}
GCD是基于C语句级别的API,它提供了C函数。下面的代码是ConcurrencyTest工程中使用GCD创建管理线程,然后执行100次处理:

<span style="font-size:18px;"></span><pre name="code" class="objc">- (IBAction)testGCD:(id)sender {
dispatch
}



<span style="font-size:18px;"><span style="white-space:pre">	</span></span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: