Java进程与线程


进程概念

当我们双击桌面图表运行程序,操作系统会当前的这个程序加载到内存中,在内存中给当前的程序分配一段独立的运行空间(大小可变)。这片空间就专门负责当前这个程序的运行。

不同的应用程序运行的过程中都需要在内存中分配自己独立的运行空间,彼此之间不会相互的影响。我们把每个独立应用程序在内存的独立空间称为当前应用程序运行的一个进程。

进程内存中的一段独立的空间,可以负责当前应用程序的运行。当前这个进程负责调度当前程序中的所有运行细节。


线程概念

   启动QQ聊天软件,需要和多个人进行聊天。这时多个人之间是不能相互影响,但是它们都位于当前QQ这个软件运行时所分配的内的独立空间中。

   在一个进程中每个独立的功能都需要独立的去运行,这时又需要把当前这个进程划分成多个运行区域每个独立的小区域(单元)称为一个线程

   线程是位于进程中,负责当前进程中的某个具备独立运行资格的空间。

   进程负责整个程序的运行,而线程是程序中具体的某个独立功能的运行。

   一个进程至少应该有一个线程。

进程是资源分配的基本单位
进程中包含多个线程,线程共享进程的资源
线程是处理器调度的基本单位

多线程

现在的操作系统基本都是多用户,多任务的操作系统。每个任务就是一个进程。在这个进程中就会有线程。

真正可以完成程序运行和功能的实现靠的是进程中的线程。

多线程:一个进程中,我们同时开启多个线程,让多个线程同时去完成某些任务功能

多线程的目的:提高程序的运行效率。


多线程运行原理

电脑中的程序的运行不是同时在运行的。CPU负责程序的运行,而CPU在运行程序的过程中某个时刻点上,它只能运行一个线程。不是多个线程。而CPU它可以在多个线程之间进行高速的切换。切换频率和速度太快,给使用者“同时”运行程序的感觉

一台电脑最多最多同时运行多少个线程?

如果是AMD的cpu,则最多运行 cpu核心数个线程

如果是Intel的cpu,则最多运行 cpu线程数个线程。(因为intel使用了超线程技术)

i7 四核八线程

i5 四核四线程


cpu的核心和线程数扩展阅读

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

松门一枝花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值