一、多线程
谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?
好处:
1.使用多线程可以把程序中占据时间长的任务放到后台去处理,如图片,视频的下载;
2.发挥多核处理器的优势,并发执行让系统运行的更快,更流畅,用户体验更好;
缺点:
1.大量的线程降低代码的可读性;
2.更多的线程需要更多的内存空间;
3当多个线程对同一个资源出现争夺的时候要注意线程安全的问题。
ios有3种多线程编程的技术:1.NSThread,2.NSOperationQueue,3.gcd;
什么是线程安全?线程安全使用场景?
线程安全是指在多线程情况下,由于各个线程都可以操作相同数据,在某些情况下,就会造成某些线程获取到的数据是错误的。所以在某些线程进行数据操作时,需要对数据进行加锁操作。所以要保证线程安全,就要对数据进行加锁操作。
那么线程安全的使用场景是怎样的?简单来说两点:一是多个线程访问同一个资源。二是资源是有状态的,即数据是会有变化的。