在 iOS 中,每个进程(应用程序)启动后,都拥有一个主线程(UI 线程)。这个线程是其他所有线程的父线程。其他线程都是独立于 CocoaTouch 框架的,因此只能在主线程更新 UI。在其他线程中虽然也可以更新 UI,但由于 UIKit 不是线程安全的,可能会导致出现问题,因此不推荐。当用户做网络操作、更新数据库等比较耗时的操作时,如果不使用多线程,而直接在主线程进行的话,就会导致整个应用卡住,用户体验很差。多线程就是在多个处理器中(或者单个处理器分时间片)同步地执行一些操作,从而提高效率。
线程和进程