iOS多线程学习笔记

线程又被称为轻量进程,是进程中执行运算的最小单位。进程是资源费配的基本单位。一个程序至少拥有一个进程,一个进程至少拥有一个线程。线程拥有自己的堆栈和局部变量,但没有单独的地址空间,而进程的内存是独立的。一个线程崩溃,整个进程都会崩溃。但在操作系统的保护模式下,一个进程崩溃不影响其他进程,因此多进程的程序比多线程的程序及健壮。但是进程上下文切换比线程上下文切换更消耗资源。

Swift 多线程初步

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

线程和进程

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×