多线程与多进程如何取舍

多进程的和多线程的优缺点


多进程

多线程

稳定性

每个进程有独立的进程空间,进程的崩溃会被隔离,不会引发连锁反应。

所有线程共享一个进程空间,某一个线程的崩溃会扩展到整个进程。

适用性

不但适用于多核,也方便迁移到分布式的计算环境。

适用单机多核的场景。

成本

创建和销毁进程的代价大,进程切换复杂。

线程的创建销毁简单,切换迅速。

数据共享

需要使用IPC才能共享数据。

共享数据方便,不需要进程间通信的代价。

线程安全

进程间代码和数据空间互不干扰。

多线程函数要考虑线程安全的问题。要保证特定函数的可重入性。


========================================================================================================================

多进程和多线程的选用原则


1)需要频繁创建销毁的场景,优先用线程。
2)需要进行大量计算,任务切换频繁的场景,优先使用线程。
3)强相关的处理用线程,弱相关的处理用进程。
4)可能要扩展到多机分布的用进程,多核分布的用线程。
5)稳定性要求高的场景,用进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值