一、单线程
每个正在运转的程序(即进程),至少包含一个线程,这个线程叫主线程
主线程在程序启动时被创立,用于履行main函数
只要一个主线程的程序,称作单线程程序
主线程担任履行程序的所有代码(UI展示以及刷新,网络请求,本地存储等等)。这些代码只能次序履行,无法并发履行
二、多线程
具有多个线程的程序,称作多线程程序。
iOS答应用户自己拓荒新的线程,相对于主线程来讲,这些线程,称为子线程
能够根据需求拓荒若干子线程
子线程和主线程都是独立的运转单元,各自的履行互不影响,因而能够并发履行
三、单线程与多线程的区别
单线程程序:只要一个线程,代码次序履行,容易出现代码堵塞(页面假死)
多线程程序:有多个线程,线程间独立运转,能有效地防止代码堵塞,并且进步程序的运转功能
留意:iOS中关于UI的添加和刷新必须在主线程中操作
实现多线程有以下四种方式:
1. 继承Thread类
2.实现Runnable接口
3.实现Callable接口
4.线程池:提供了一个线程队列,队列中保存着所有等待状态的线程。避免了创建与销毁额外开销,提高了响应的速度。