先来一张图:
线程与进程的区别:
1、线程是进程的更小分支,轮询调度机制类似CPU对多个进程的轮询,其余特点比较如下:
轮询调度 | 资源管理 | 内部约束 | |
进程 | 由OS来管控 | 有独立的堆栈、内存管理空间 | 由于独立性,进程之间无约束,一个process die之后,不影响其他processes |
线程 | 由程序解释器来管控 | 共享同一进程的资源 | 共享资源,互相约束,一个县城die之后,整个进程有可能崩溃 |
并发与并行的区别:
1.并行必须是基于多道的(即多核/多CPU),这样多个CPU可以并行处理事务,按照上图的时间轮询,很可能多个CPU在同一时间片在轮询处理同一进程的不同线程。
2.并发是轮询的具体体现,多个任务同时被轮询处理,造成“均在处理”的假象。
后面将随着学习深入继续补充...
参考文档:http://www.cnblogs.com/woaixuexi9999/p/9323712.html