java的线程和进程,java的线程和cpu的线程
00-1010 1.了解流程1,了解线程2,流程属性2。为什么要有线程3。知道线程和进程的区别。Linux中的线程1,内核状态和用户状态2。PCB描述线程5,多种类型1,单进程单线程2,多进程单线程3,单进程多线程4,多进程多线程5,进程内线程分析。
目录
00-1010当一个可执行程序运行时,可以把它看作一个进程。
进程也是操作系统分配资源的最小单位。
每个进程对应内核中的一个PCB对象。
线程是一个“执行流”。每个线程都可以按照顺序执行自己的代码。多个线程“同时”执行多个代码。
00-1010进程id:身份表示
一组内存指针:指进程运行时所依赖的指令和数据在内存中的位置。
状态:进程正在运行还是正在休眠?
进程优先级:这个进程是由CPU先执行还是放在后面。
进程的上下文:保存上一个在CPU上执行的进程的进度,以便下一个进程在CPU上时可以继续执行。
进程的记帐信息:它记录了一个进程在CPU上执行了多长时间。通过这个时间,限制一个进程不要占用CPU太久,导致其他进程无法执行。
微观上,一个CPU一次只能执行一个线程命令。
进程太多,CPU太少
通过“并发”的方式,CPU可以快速调度,微观上还是串行的,但是调度速度极快,宏观上感觉是多个进程齐头并进。
00-1010首先,‘并发编程’变成了‘刚需’。
单核CPU的发展遇到了瓶颈。为了提高计算能力,需要多核CPU。并发编程可以充分利用多核CPU资源。有些任务场景需要‘等待IO’,为了让等待IO的时间做一些其他的工作,也需要并发编程。
其次,虽然多进程可以实现并发编程,但是线程比进程轻。
创建线程比创建进程更快。
销毁线程比销毁进程快。
调度线程比调度进程快。
00-1010如果把一个进程看成一个工厂,线程就是工厂里的几条流水线。
线程实际上包含在进程中。
一个进程可以有多个线程。
每个线程都有自己的逻辑(命令)来执行,每个线程都是一个独立的“执行流”
同一进程中的许多线程共享一些资源。
一、认识进程
00-1010如果你去银行存款,你得和窗口的柜员互动。
存款的过程:
1.先和柜员沟通,存多少钱,存到那个账户。
2.把卡和钱交给出纳员。
以上都是可以感知的动作,相当于用户模式下的代码执行。
3.出纳员拿到东西,在电脑上操作。
以上是用户察觉不到的,相当于内核状态下的代码执行。
用户状态:权限比较小,只能进行一些低风险的操作。
内核状态:远高于用户状态。
1,线程初识
内核只知道PCB
一个线程对应一个PCB。
一个流程可能有多个PCB。
这三个PCB对应的是java.exe这个进程的三个线程,这几个从属进程在内核中也叫做“线程组”,类似于MySql中的多对一。
00-1010打个比喻,吃苹果,分100个苹果。
线程:分配资源,房间表
流程:安排孩子吃苹果。
2,进程属性
二、为什么要有线程
三、认识线程与进程的区别
四、Linux中的线程
一个线程中的最大线程数是多少
1、CPU的数量。
2.它还与线程执行的任务类型有关。
CPU密集型:程序一直在执行计算任务。
IO密集型:主要用于输入输出操作。
多个线程抢夺一个资源可能会导致线程不安全。
如果一个线程抛出异常,没有处理好,那么整个进程就会终止,其他线程就无法工作。
这就是这篇关于Javaweb进程和线程的图形分析的文章。有关Javaweb进程的更多信息,请搜索以前关于流行IT的文章或继续浏览下面的相关文章。我希望你将来能支持流行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。