多线程与多进程如何取舍

来源:互联网 发布:什么叫网络推广 编辑:程序博客网 时间:2024/04/29 04:22

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


多进程

多线程

稳定性

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

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

适用性

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

适用单机多核的场景。

成本

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

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

数据共享

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

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

线程安全

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

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


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

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


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

原创粉丝点击