1, 多线程的作用:可以解决负载均衡问题,充分利用CPU的资源,为了提高Cpu的使用,采用多线程的方法去同时完成几件事情而互不干扰
2. 大多数的情况下, 使用多线程 主要是需要处理大量的IO操作或处理的情况需要花大量的时间等;
3. iOS 有三种主要的方法创建线程:1. NSTread, 2.NSOperationQueue, 3, GCD
4. 解决方案:使用线程锁,锁是线程同步工具的基础, 锁可以让你很容易保护代码中一大块区域以便你可以确保代码的正确性,
使用POSIX互斥锁, 使用NSLock类 使用@synchronized指令等
5, 回到主线程的方法: dispa_async(dispatch_get_main_queue(), ^{});
作用:主线程是现实UI界面, 子线程多数是进行处理数据的
好处:
1、使用线程可以把程序中占据时间长的任务放到后台去处理,如图片、视频的下载
2、发挥多核处理器的优势,并发执行让系统运行的更快、更流畅,用户体验更好
缺点:
1、大量的线程降低代码的可读性,
2、更多的线程需要更多的内存空间
1、使用线程可以把程序中占据时间长的任务放到后台去处理,如图片、视频的下载
2、发挥多核处理器的优势,并发执行让系统运行的更快、更流畅,用户体验更好
缺点:
1、大量的线程降低代码的可读性,
2、更多的线程需要更多的内存空间
3、当多个线程对同一个资源出现争夺的时候要注意线程安全的问题。
同步:一个线程要等待上一个线程执行完之后才能执行当前的线程,生活中的例子(上厕所)。
异步:同时去做两件或者多件事。比如边听歌边看报。
GCD串行队列,GCD当中的屏障dispatch_barrier,NSOperationQueue设置最大并发数为1