ios开发开启多线程的几种基本方法
来源:互联网 发布:php销售管理系统 编辑:程序博客网 时间:2024/06/05 02:30
// 1.第一种开启新的线程调用mutableThread
NSThread *t = [[NSThread alloc] initWithTarget:self selector:@selector(mutableThread) object:nil];
[t start]; // 需手动开启
// 2.第二种开启新的线程调用mutableThread
[NSThread detachNewThreadSelector:@selector(mutableThread) toTarget:self withObject:nil];
// 3.第三种开启新的线程调用mutableThread
[self performSelectorInBackground:@selector(mutableThread) withObject:nil];
// 4.block语法启动一个线程
NSOperationQueue *threadQueue = [[NSOperationQueue alloc] init];
[threadQueue addOperationWithBlock:^(void){
NSThread *t = [NSThread currentThread];
if (![t isMainThread]){
NSLog(@"是多线程”);
}
}];
// 5.NSOperation开启一个线程
NSOperationQueue *threadQueue = [[NSOperationQueue alloc] init];
NSInvocationOperation *op =[ [NSInvocationOperation alloc] initWithTarget:self selector:@selector(mutableThread) object:nil];
[threadQueue addOperation:op];
// 在主线程上调用reloadData 方法 (从子线程跳到主线程)
[self performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:YES];
PS:不要在子线程reloadData,要跳到主线程
// GCD:Grand central dispatch (C语言的)
dispatch_queue_t queue = dispatch_queue_create(“test”, NULL);
dispatch_async(queue, ^{
for (int i = 0; i < 50; i++)
{
NSLog(@“多线程:%d”, i);
}
// 回到主线程
dispatch_sync(dispatch_get_main_queue, ^{
})
})
0 0
- ios开发开启多线程的几种基本方法
- 【iOS开发-多线程】多线程创建的几种方法对比
- ios多线程的几种方法
- iOS 多线程的几种方法
- iOS 创建多线程的几种方法
- iOS 的几种创建多线程方法
- iOS开发中遇到的几种多线程
- 多线程的开启方法
- 对多线程开发的理解,以及几种实现方法
- 开启线程的几种方法使用
- iOS开发多线程-GCD的基本使用
- 多线程的几种方法
- IOS细说IOS的基本开发方法
- 多线程的几中创建方法与基本使用
- IOS开发之延时执行的几种方法
- iOS开发-autolayout动画效果实现的几种方法
- iOS开发中个人调试的几种方法
- iOS开发 UI 收起键盘的几种方法
- 光学基础知识复习
- Android中文乱码的分析与解决
- oracle11g rac asm 实例内存修改
- 如何更好的工作:少发邮件多办事儿
- 用c语言实现面向对象的封装继承和多态
- ios开发开启多线程的几种基本方法
- 从零开始学android<ACtivity的生命周期.三十九.>
- [HDU 4953 Periodic Binary String] Euclid的应用
- 设置了memory_max_target
- 在Tomcat目录下编写servlet
- zoj 3329 One Person Game(有环的概率dp)
- MEMORY_TARGET/MEMORY_MAX_TARGET
- 纪第一篇博客
- 解析JSON的方法