首页 > 编程语言 > 详细

23、24--Java中的多线程

时间:2021-03-09 22:23:33      阅读:29      评论:0      收藏:0      [点我收藏+]

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

  多线程 -- > 线程 --> 进程

2.什么是进程?

  通过任务管理器我们就看到了进程的存在。

  而通过观察,我们发现只有运行的程序才会出现进程。

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

3.多进程有什么意义?

  单进程的计算机一次只能做一件事情,而我们现在的计算机都可以同时做多件事情。

  也就是现在的计算机都是支持多进程的,都可以在一个时间段内执行多个任务。

  并且,可以提高CPU的使用率。(虽然单核CPU在某一个时间点上只能做一件事情,但CPU可以高效的切换各程式之间的运行,切换的间隔时间非常短,以致我们感觉不出来)

4.什么是线程?

  在一个进程内又可以执行多个任务,而每一个任务我就可以看成是一个线程。

  线程: 是进程中的单个顺序控制流,是一条执行路径。(是程序使用CPU的最基本单位)

  单线程:如果程序只有一条执行路径。

  多线程:如果程序有多条执行路径。

5.多线程有什么意义呢?

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

  程序的执行其实都是在抢CPU的资源(CPU的执行权)。

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

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

6.Java程序运行原理

  java命令会启动java虚拟机(JVM),等于启动了一个应用程序,也就是启动了一个进程。

  该进程会自动启动一个“主线程”,然后主线程去调用某个类的Main方法。

  所以,main方法运行在主线程中,在此之前的所有程序都是单线程的。

  思考:JVM虚拟机的启动是单线程还是多线程?

      JVM虚拟机的启动首先会有一个主线程,除此之外,垃圾回收线程也需要启动,否则很容易就会出现内存溢出。

      因此,至少启动了两个线程,属于多线程。

 

  

23、24--Java中的多线程

原文:https://www.cnblogs.com/benon94/p/14508022.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!