Java多线程和多进程

本文探讨了多线程和多进程的概念。多线程允许程序包含多个子任务,即使某个任务阻塞,其他任务仍能继续运行,提高了程序的CPU利用率。而多进程则是在多任务操作系统中,每个独立的任务被视为一个进程。多线程相比多进程更轻量级,切换更快,且共享数据更高效,但在单核CPU中,多进程只能串行执行。通过Java代码示例展示了多进程和多线程的实现方式。
摘要由CSDN通过智能技术生成

多线程
1、当前的操作系统都是多任务OS
2、每个独立执行的任务就是一个进程
3、OS将时间划分为多个时间片(时间很短)
4、每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,在分配给另外任务。从外部看,所有任务是同时在执行,烦死在CPU上,任务是按照串行一次运行(单核CPU)。如果是多核,多个进程任务可以并发进行。但是在单核史昂,多进程只能串行执行

-多进程优点
1、可以运行多个任务
2、程序因IO堵塞时,可以释放CPU,让CPU为其他程序服务
3、当系统有多个CPU时,可以为多个程序同时服务
CPU不在提高频率而是提高核数,多核和冰雪程序才是提高程序性能的唯一办法
-多进程的缺点
串行程序是指智能在单核上运行,无法利用多个CPU
并行程序是指可以利用多个计算核运行,加快计算速度
1、笨重,不好管理
2、不好切换

多线程
1、一个程序可以包括多个子任务,可串行并行
2、每个子任务可以称为一个线程
3、如果一个子任务阻塞,程序可以将CPU调度另外一个子任务进行工作,这样CPU还是保留在本程序中,而不是被调度到别的程序去。这样提高本程序所获得CPU时间和利用率

多进程VS多线程
1、线程共享数据,
2、线程通讯更高效
3、线程更轻量级,更容易切换
4、多个线程更容易管理

多进程
publ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值