Java自学 day24_多线程01-05 笔记

2020-03-19 16:07:15来源:博客园 阅读 ()

容器云强势上线!快速搭建集群,上万Linux镜像随意使用 Java自学 day24_多线程01-05 笔记

01-多线程的引入

  • 如果程序只有一条执行路径,那么该程序就是单线程程序
  • 如果程序有多条执行程序,那么该程序就是多线程程序

02-进程概述及多进程的意义

要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在

  • 进程:就是正在运行的程序。
  • 进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。

单进程的计算机只能做一件事情,现在的计算机都是支持多进程的,可以在一个时间段内执行多个任务。并且呢,可以提高CPU的使用率

03-线程概述及多线程的意义

什么是一个进程内又可以执行多个任务,而这每一个任务我就可以看出是一个线程。

  • 线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。
  • 单线程:如果程序只有一条执行路径。
  • 多线程:如果程序有多条执行路径。 

多线程有什么意义呢?

  • 多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率

程序的执行其实都是在抢CPU的资源,CPU的执行权。
多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行

  • 我们是不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随机性

04-多线程举例及并行和并发的区别

注意两个词汇的区别: 并行和并发。

  • 前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。
  • 后者是物理上同时发生,指在某-个时间点同时运行多个程序。

05-Java程序运行原理和JVM的启动是多线程的吗

  • Java程序的运行原理:

由java命令启动JVM, JVM启动就相当于启动了一个进程。
接著有该进程创建了一个主线程去调用main方法。

  • jvm虚拟机的启动是单线程的还是多线程的?
    多线程的。
    原因是垃圾回收线程也要先启动,否则很容易会出现内存溢出。
    现在的垃圾回收线程加上前面的主线程,最低启动了两个线程,所以,jvm的启动其实是多线程的。


原文链接:https://www.cnblogs.com/htbht2000/p/12527260.html
如有疑问请与原作者联系

标签:系统时间AV区别marginem

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:LCN解决分布式事务原理解析+项目实战(原创精华版)

下一篇:《Java8 Stream编码实战》正式推出