首页 > 代码库 > windows和linux/unix多线程的区别

windows和linux/unix多线程的区别

有一面试被问到了windows和linux多线程的区别,特地整理一下,内容全来自网络,如有错误请指正!

(1)WIN32里的进程/线程是继承自OS/2的。在WIN32里,进程是指一个程序,一般指一个软件,例如Chrome浏览器,但是Chrome会生成好几个后台进程(为了抢占cpu?),一个进程里包含多个线程,用来执行不同的任务,例如Chrome各个不同网页的刷新WIN32里同一个进程里各个线程之间是共享数据段的,这是与linux系统重要的不同。

(2)但是linux系统几乎可以说是没有线程的概念,所有的程序都以进程对待而由程序员来显式地指定要共享的数据,从这里看linux似乎更安全一些。

(3)Linux下的进程是动态的,Windows下的进程是静态的。Windows下的进程只是一“壳子”,系统真正执行的还是线程。

windows和linux/unix多线程的区别