把进程比作火车,那么线程就是车厢
- 线程=车厢,线程在进程下行进(单一的线路无法运行)
- 一个进程可以包含多个线程(一列火车包含多个车厢)
- 不同进程之间的数据那一共享(一列火车上的乘客很难到另一列火车上)
- 同一进程下不同线程间数据容易共享(一列火车上,不同车厢的乘客可以交换车厢)
- 进程比线程消耗更多的计算机资源(多列火车比多个车厢更消耗资源)
- 进程之间不会互相影响,但是线程之间会相互影响
- 进程可以拓展到多机,进程适合多核(不同火车可以在不同火车轨道运行,同一火车的车厢不能行进在不同的轨道)
- 进程使用的内存地址可以上锁,其中一个线程使用某些共享内存时候,其他线程必须等待,等待这块内存使用结束后才能使用(例如火车上的洗手间只能单人使用,与他人互斥)
- 进程使用的内存地址可以限定使用量(比如火车的座位数)