windows和linux/unix多线程的区别
有一面试被问到了windows和linux多线程的区别,特地整理一下,内容全来自网络,如有错误请指正!
(1)WIN32里的进程/线程是继承自OS/2的。在WIN32里,“进程”是指一个程序,一般指一个软件,例如Chrome浏览器,但是Chrome会生成好几个后台进程(为了抢占cpu?),一个进程里包含多个线程,用来执行不同的任务,例如Chrome各个不同网页的刷新。WIN32里同一个进程里各个线程之间是共享数据段的,这是与linux系统重要的不同。
(2)但是linux系统几乎可以说是没有线程的概念,所有的程序都以进程对待,而由程序员来显式地指定要共享的数据,从这里看linux似乎更安全一些。
(3)Linux下的进程是动态的,Windows下的进程是静态的。Windows下的进程只是一“壳子”,系统真正执行的还是线程。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步