线程与进程的区别归纳:
a.地址空间和其它资源:
进程间相互独立,同一进程的各线程间共享。
某进程内的线程在其它进程不可见。
b.通信:
进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,
以保证数据的一致性。
c.调度和切换:
线程上下文切换比进程上下文切换要快得多。
d.在多线程OS中,进程不是一个可执行的实体。
操作系统的设计归结:
a.以多进程形式,允许多个任务同时运行;
b.以多线程形式,允许单个任务分成不同的部分运行;
c.提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源。
http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html