沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践!
1 主办法(在琅绫擎设置代劳)
序言
假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。正人生非异也,善假于物也。
我们曾借白茶清欢等一小我,曾借花开花落叹宠辱不惊。
法度榜样(Program)是一个可以运行的文件, 一个法度榜样至少有一个过程,一个过程至少有一个线程,即主线程
正文
- 法度榜样(Program)是一个可以运行的文件, 一个法度榜样至少有一个过程,一个过程至少有一个线程,即主线程
- 过程:正在进行的法度榜样被称为过程,负责法度榜样运行的内存分派,每个过程都有本身的自力虚拟内存空间.一个法度榜样的一次运行,在履行过程中拥有自力的内存单位,而多个线程共享一块内存
- 什么是线程:线程是过程中的根本单位(可履行的代码段),线程可以并发运行,进步履行效力
- 创建线程的目标:就是为了开启一条新的可履行的代码段,与主线程中的代码实现同时运行,防止界面假逝世,是实现异步的技巧的重要手段,比如收集异步下载
一 Runloop常识点弥补
1 在模仿器中拖拽UITextView的时刻对RunLoop模式的影响
代码块和解释一:
- //因为该办法设置了RunLoop的运行模式为两种,当用户滑动UITextView的时刻RunLoop切换模式并且持续履行,所以能设置出图片
- [self.imageView1 performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"/Users/xiaofeng/Desktop/Snip20160319_18.png"] afterDelay:5.0 inModes:@[UITrackingRunLoopMode,NSDefaultRunLoopMode]];
代码块和解释二:
—-对该办法的解释: 该办法运行的时刻回受到runloop运行模式的影响,默认设置为defaulmode,当拖拽的时刻,runloop切换模式,所以不履行
- //该办法的履行会受到外界的影响,当用户滑动UITextView的时刻,并不会经由2秒设置图片,runloop运行的模式是默认的模式,当用户滑动UITextView的时刻,切换了模式,所以不会设置图片
- [self.imageView1 performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"/Users/xiaofeng/Desktop/Snip20160319_15.png"] afterDelay:2.0];
2 问题:怎么能让一个线程一向活着,然后在特定的情况下,让线程跳转义务
二 常驻线程
3 包管线程不逝世的办法:创建一个RunLoop轮回;然后设置数据源或者准时器
- 3.1 第一种办法:开启一个逝世轮回—>比如while逝世轮回,保持线程不逝世亡,如许固然能包管线程不逝世,然则不克不及包管线程去履行其它的义务(弗采取)
- 3.2 第二种办法:开启一个RunLoop轮回,也可以包管让线程不逝世,然则开启了须要手动履行,并且须要设置运行模式,不然单单只是开启了RunLoop轮回,并没有设置模式的话,RunLoop开启了就直接退出,并不会一向往下履行(开启RunLoop须要完成指定的三个步调)
4 需求:当点击创建线程的按钮的时刻,开端创建一条线程,然后点击让子线程开端干其他的工作的时刻,子线程开端履行其他工作
1 创建子线程按钮:
- #pragma mark - 创建子线程按钮
- - (IBAction)creatBtnClick:(id)sender
- {
- //创建子线程
- NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(task) object:nil];
- [thread start];
- //如不雅不参加这句代码,线程在履行完task办法之后就会急速被释放,这里写这句代码目标就是包管线程不逝世,能持续履行其他的义务
- self.thread = thread;
- }
创建子线程按钮中的办法实现: 在task办法中我们只请求打印当前哨程就行.
让子线程开端持续工作:
- #pragma mark - 让线程持续工作
- - (IBAction)goOnBtnClick:(id)sender
- {
- [self performSelector:@selector(task2) onThread:self.thread withObject:nil waitUntilDone:YES];
- }
- 具体的操作步调:
- 2.1 肯定请求路径
- 2.2 获取主机名
- 2.3 DNS域名解析
推荐阅读
沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 所谓边沿数据中间,指的就是:处于>>>详细阅读
本文标题:iOS开发3年只用5分钟搞定面试官
地址:http://www.17bianji.com/lsqh/40950.html
1/2 1