编辑文章 - 博客频道 - 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>
相关文章推荐
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET
- 编辑文章 - 博客频道 - CSDN.NET