进程和线程的区别 (待完善)
1. 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
2. 进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。
3. 一个进程中可以包含若干个线程,线程可以利用/共享该进程所拥有的资源。
4. 进程间相互独立,同一进程的各线程间共享进程的资源。某进程内的线程在其它进程不可见。
5. 进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
6. 线程上下文切换比进程上下文切换要快得多。