提到到多线程,就要先说进程,一个进程至少含有一个线程,一个任务的执行,必须在线程上执行!一辆卡车如果想跑,必须有马路(跑道)
串行:线程中的任务按顺序执行,如果你只有一条跑道(线程),三辆卡车运货物(任务),这三辆卡车就只能按顺序在这条跑道上跑,谁先进入跑道,谁先运到目的地!
并行:开启多个线程执行,互不影响!还用这三辆客车运货,但是分别走三条跑道(线程),不一定谁先把货物运到目的地!这样可以提高效率
注意:线程开多会增大消耗,要适当!适合5个以内
多线程最开始的产生是针对一个CPU设计的!但是现在基本都是多核的!
(请忘记卡车和跑道)实际上一个CPU用时只能处理一个线程,多线程的实现是CPU在多个线程之间来回调度,造成了多个线程同时进行的假象!
多线程的优点:适当的开启线程适当的提高效率
一个ios程序启动后,会默认开启一个主线程(UI线程)(苹果建议所有和UI界面有关的东西必须在子线程中做)