Java多线程和多进程的优缺点
程序员文章站
2024-01-11 17:21:16
Java多线程和多进程的对比1、多进程(1)多进程的优点(2)多进程的缺点2、多线程(1)多线程的优点(2)多线程的缺点1、多进程当前的操作系统都是多任务OS。每个独立执行的任务就是一个进程。操作系统OS将时间划分为多个时间片(时间很短),每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,再分配给另外任务。从外部看,所有任务是同时在执行。但是在CPU上,任务是按照串行依次运行(单核CPU)。如果是多核,多个进程任务可以并行。但是单个核上,多进程只能串行执行。串行程序,是指程序只能...
1、多进程
当前的操作系统都是多任务OS。每个独立执行的任务就是一个进程。
操作系统OS将时间划分为多个时间片(时间很短),每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,再分配给另外任务。从外部看,所有任务是同时在执行。但是在CPU上,任务是按照串行依次运行(单核CPU)。如果是多核,多个进程任务可以并行。但是单个核上,多进程只能串行执行。
- 串行程序,是指程序只能在单核上运行,无法利用多个CPU;
- 并行程序,是指程序可以利用多个计算核运行,加快计算速度。
(1)多进程的优点
- 可以同时运行多个任务
- 程序因IO堵塞时,可以释放CPU,让CPU为其他程序服务,则CPU的利用率提高
- 当系统有多个CPU时(不方便散热),可以为多个程序同时服务
(2)多进程的缺点
- 太笨重,不好管理
- 太笨重,不好切换
2、多线程
一个程序可以包括多个子任务,可串/并行,每个子任务可以称为一个线程。
如果一个子任务阻塞,程序可以将CPU调度另外一个子任务进行工作。这样CPU还是保留在本程序中,而不是被调度到别的程序(进程)去。这样,提高本程序所获得CPU时间和利用率。
(1)多线程的优点
- 多线程共享数据
- 多线程通讯更高效
- 线程更轻量级,更容易切换
- 多个线程更容易管理
(2)多线程的缺点
- 线程之间的同步和加锁控制比较麻烦
- 一个线程的崩溃可能影响到整个程序的稳定性
下一篇:Java多线程的两种创建方式
本文地址:https://blog.csdn.net/yh991314/article/details/107343558
上一篇: HIVE分析函数