进程(process)和线程(thread)介绍

同一个 program(程序) 可以同时存在多个 process(进程)
同一个 process(进程) 可以同时存在多个 thread(线程)
每一个 process 都是相互独立的;
process 本身不是基本执行单位,它是 thread(基本执行单位) 的容器;
process 需要一些资源(如 CPU、内存、文件、I/O设备)才能完成工作;
在多任务系统(Multitasking Operating System)中,可以同时执行多个 process,然而一个 CPU 一次只能执行一个 process(所以才出现了多核处理器),
   但是在实际的操作系统中,process 的运行数量肯定会多于 CPU 的总数,同时 process 需要占用内存,所以操作系统需要考虑如何对这些 process 进行调度(Scheduling)

同一个 process 下的 Thread 共享 process 的资源,如内存、变量等,不同的 process 不能;
在多线程(Multi threading)中,两个线程如果同时存取或改变全局变量(Golbal Variable),则可能发生同步(Synchronization)的问题。如果线程之间互抢资源,则可能产生死锁(Dead Lock)。
原文地址:https://www.cnblogs.com/shuzf/p/12705479.html