一.基本概念
进程和线程就是程序的执行流。每个线程按照一定的顺序执行。
并发指的是每个线程同时执行,其实是因为CPU的调度非常快,使得多个不同的线程快速切换,到达人无法察觉的速度,也就像是同时执行的。并发极大地提升了程序的运行效率,因为它使资源利用最大化,比如
1.在单线程程序中,CPU 在等待 I/O 操作(如磁盘读写、网络请求等)时会处于空闲状态。而并发允许程序在等待 I/O 的同时,执行其他任务,从而更充分地利用 CPU 资源。
2.在用户执行输入输出操作时,系统不必等待,而是执行其他的操作。
3.并发编程更能利用多核CPU的算力。
二.相互关系
1.进程是一个正在执行的程序的实例,是系统进行资源分配的调度的基本单位(最小单位)。
每个进程都有独立的地址空间和资源,因此一个进程的崩溃不会直接影响到其他进程,
2.线程是进程的一个执行单位,是系统调度的最小单位。进程包括线程,一个进程至少有一个线程(主线程)。线程之间共享进程的资源。
3.线程比线程更加轻量,创建、销毁、调度更快。
4.在同一个进程内,如果一个线程发生了严重错误(如未处理的异常、访问非法内存等),可能会导致整个进程的崩溃,从而影响到该进程中的所有线程。