有一面试被问到了windows和linux多线程的区别,特地整理一下,内容全来自网络,如有错误请指正!
(1)WIN32里的进程/线程是继承自OS/2的。在WIN32里,“进程”是指一个程序,一般指一个软件,例如Chrome浏览器,但是Chrome会生成好几个后台进程(为了抢占cpu?),一个进程里包含多个线程,用来执行不同的任务,例如Chrome各个不同网页的刷新。WIN32里同一个进程里各个线程之间是共享数据段的,这是与linux系统重要的不同。
(2)但是linux系统几乎可以说是没有线程的概念,所有的程序都以进程对待,而由程序员来显式地指定要共享的数据,从这里看linux似乎更安全一些。
(3)Linux下的进程是动态的,Windows下的进程是静态的。Windows下的进程只是一“壳子”,系统真正执行的还是线程。