OC中多线程的创建方法

简介:
方法一:
NSThread *t = [[NSThread alloc] initWithTarget:self selector:@selector(mutableThread) object:nil];
方法二:
[NSThread detachNewThreadSelector:@selector(mutableThread) toTarget:self withObject:nil];
方法三:
[self performSelectorInBackground:@selector(mutableThread) withObject:nil];
方法四:多线程blog创建
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
//会开启一个多线程
[operationQueue addOperationWithBlock:^{
for(int i = 0; i < 50 ;i++)
{
NSLog(@"多线程:%d",i);
}
}];
方法五:
//相当于是一个线程池
NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init];
operationQueue.maxConcurrentOperationCount = 1;//设置并发数
//创建线程
NSInvocationOperation *opertion1 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(thread1) object:nil];
//设置线程的优先级
[opertion1 setQueuePriority:NSOperationQueuePriorityVeryLow];
//创建另一个线程
NSInvocationOperation *opertion2 = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(thread2) object:nil];
[opertion2 setQueuePriority:NSOperationQueuePriorityHigh];
方法六:
dispatch_queue_t queue = dispatch_queue_create("test",NULL);
dispatch_async(queue,^{
for(int i=0;i<50;i++)
{
NSLog(@"多线程:%d",i);

});





















本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366562,如需转载请自行联系原作者

相关文章
|
29天前
|
Java 调度 C#
C#学习系列相关之多线程(一)----常用多线程方法总结
C#学习系列相关之多线程(一)----常用多线程方法总结
|
1月前
|
Java 测试技术
血的教训--如何正确使用线程池submit和execute方法
血的教训--如何正确使用线程池submit和execute方法
25 1
|
2月前
|
人工智能 Java API
Python 潮流周刊#28:两种线程池、四种优化程序的方法
Python 潮流周刊#28:两种线程池、四种优化程序的方法
21 1
|
3月前
|
监控 Java 应用服务中间件
剑指JUC原理-3.线程常用方法及状态(下)
剑指JUC原理-3.线程常用方法及状态
54 0
|
3月前
|
安全 Java Kotlin
面试必备:Kotlin 线程同步的 N 种方法
面试必备:Kotlin 线程同步的 N 种方法
79 0
|
4月前
|
Java
学习多线程之yield方法
学习多线程之yield方法
39 0
|
5月前
|
监控 安全 算法
Thread入门与线程方法详解及多线程安全
Thread入门与线程方法详解及多线程安全
21 0
|
5月前
多线程学习之解决线程同步的实现方法
多线程学习之解决线程同步的实现方法
20 0
|
6月前
|
Java 调度
【JavaSE专栏81】线程休眠,一种暂停线程执行的方法
【JavaSE专栏81】线程休眠,一种暂停线程执行的方法
112 0
|
17天前
|
Java 测试技术 Python
Python开启线程和线程池的方法
Python开启线程和线程池的方法
12 0
Python开启线程和线程池的方法