多线程与多进程如何取舍
来源:互联网 发布:什么叫网络推广 编辑:程序博客网 时间:2024/04/29 04:22
多进程的和多线程的优缺点
多进程
多线程
稳定性
每个进程有独立的进程空间,进程的崩溃会被隔离,不会引发连锁反应。
所有线程共享一个进程空间,某一个线程的崩溃会扩展到整个进程。
适用性
不但适用于多核,也方便迁移到分布式的计算环境。
适用单机多核的场景。
成本
创建和销毁进程的代价大,进程切换复杂。
线程的创建销毁简单,切换迅速。
数据共享
需要使用IPC才能共享数据。
共享数据方便,不需要进程间通信的代价。
线程安全
进程间代码和数据空间互不干扰。
多线程函数要考虑线程安全的问题。要保证特定函数的可重入性。
多进程和多线程的选用原则
1)需要频繁创建销毁的场景,优先用线程。
2)需要进行大量计算,任务切换频繁的场景,优先使用线程。
3)强相关的处理用线程,弱相关的处理用进程。
4)可能要扩展到多机分布的用进程,多核分布的用线程。
5)稳定性要求高的场景,用进程。
- 多线程与多进程如何取舍
- 硬盘容量与性能如何取舍?
- SpringMVC与Struts2如何取舍
- 如何取舍
- 工作与学习,孰轻孰重,如何取舍?
- 多线程与多进程
- 多线程与多进程
- 多线程与多进程
- 多线程与多进程
- 多进程与多线程
- 多进程与多线程
- 多进程与多线程
- 多线程与多进程
- 多进程与多线程
- 多进程与多线程
- 多线程与多进程
- 多进程与多线程
- 多进程与多线程
- 正则表达式之字符
- 职位决定你的行为
- 关于ls命令下显示的total问题
- php自带的几个防止sql注入的函数
- [Discuz二次开发] 重建(论坛/群组)帖数 的计划任务脚本
- 多线程与多进程如何取舍
- VC++仿QQ自动伸缩窗口
- spring定时器简单配置
- uboot在mini2440上的移植总结
- 2013之杯具与感悟
- 函数指针
- 导航中mapviewer接口的一些概念和实现
- ARM Cortex-M3的优势
- vc窗口特效显示