Linux和Windows进程
来源:互联网 发布:手机智能排班软件 编辑:程序博客网 时间:2024/04/29 01:08
《Unix编程艺术》倡导多进程架构,书中认为“相对独立地址空间的轻量级进程,线程是个糟糕的替代;线程是那些进程生成昂贵、IPC功能薄弱的操作系统的概念”;“基于线程的程序不仅产生普通的竞争问题,而且产生了新一类bug:时序依赖。”。确实Unix对线程确实不怎么看重,属于Unix文化范畴的Nginx、Python和Chrome都采取多进程的策略。Nginx默认情况下使用多进程模型,在生产环境下也不开启多线程(已经向淘宝网相关技术人员求证过)。Python引入GIL锁使得Python上的多线程是伪多线程,但是这大大提高了单线程程序的效率。Chrome是第一个采用多进程架构的浏览器,这种新架构不仅证明了多进程也可以拥有非常快的速度,并且具有更高的安全性。Chrome在效率和安全性上都是当前浏览器领域的翘楚。对于Linux而言,确实没有太多必要使用多线程。主要有以下原因:
1、Linux本身采用的是轻量级进程作为线程。创建线程的开销同创建进程的开销差不多。
2、线程频繁地竞争临界资源导致效率低下。
3、Linux拥有高效的IPC功能。通过共享内存,进程可以高效共享数据。
4、多进程架构安全性更佳。
下面分别测试了Windows和Linux创建进程的速度。Unix是在不断发展过程引入多线程功能的,Windows则是作为多线程操作系统而设计。可以预见Unix创建进程的速度会比Windows快得多。
0 0
- Linux和Windows进程
- Windows和Linux下进程、线程理解
- Windows和Linux对决(多进程多线程)
- Windows和Linux进程间通信区别
- Linux,Windows和UNIX的进程调度的分析
- 进程间通信方式总结(windows 和linux)
- windows和linux杀死指定端口占用进程
- 进程间通信方式总结(windows 和linux)
- 杀死占用端口的进程(windows 和 linux)
- windows和linux进程间通信,线程间通信总结
- 杀死占用某端口的进程(windows 和 linux)
- 转:——Windows和Linux进程间通信区别
- Windows和Linux的进程地址空间分布
- linux和windows的进程的虚拟地址空间
- Linux和Windows间进程通信方式整理
- linux和windows的进程的虚拟地址空间
- 进程间通信方式总结(windows 和linux)
- windows和linux进程间与线程间通信
- 【Android】揭秘如何利用Service与线程制造安卓后台通知栏推送
- 【Android应用开发技术:应用组件】应用组件基本原理
- spring mvc controller 传参
- UVA1625 Color Length(附 刘汝佳代码)
- 合并排序Sort List
- Linux和Windows进程
- .Net HttpWebRequest 方式 访问服务器
- 2015过半 总结下去年 对暑期做规划
- Redis——事务&持久化
- 简单的数组求和
- myBatis mapper接口方法重载问题
- Mybatis 中 Mapper XML 文件 的学习详解(强烈推荐)
- Machine Learning with OpenCV
- Unity自定义窗体插件工具