多线程基础知识
进程与线程
进程是资源分配的最小单位,线程是CPU调度的最小单位。做个简单的比喻:进程=火车,
线程=车厢线程在进程下行进(单纯的车厢无法运行)
一个进程可以包含多个线程(一辆火车可以有多个车厢)
不同进程间数据很难共享(一辆火车上的乘客很难换到另外一辆火车,比如站点换乘)
同一进程下不同线程间数据很易共享(A车厢换到B车厢很容易)
进程要比线程消耗更多的计算机资源(采用多列火车相比多个车厢更耗资源)
并发与并行
并行:两个任务在同一时刻互不干扰的同时执行。如游泳赛道上不同道的选手同时在游泳。
并发:同一段时间内两个任务发生,有前后顺序。如:2s内,裁判开枪,运动员跳入水中,这两个事件在极短时间内都发生了,但不是同时发生,是有先后的。