博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java笔记之线程简述1
阅读量:5075 次
发布时间:2019-06-12

本文共 925 字,大约阅读时间需要 3 分钟。

1:线程是依赖于进程而存在。

2:什么是进程?  通过任务管理器我们就看到了进程的存在。  而通过观察,我们发现只有运行的程序才会出现进程。  进程:就是正在运行的程序。  进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。  

3:多进程有什么意义呢?  单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情。  举例:一边玩游戏(游戏进程),一边听音乐(音乐进程)。  也就是说现在的计算机都是支持多进程的,可以在一个时间段内执行多个任务。  并且呢,可以提高CPU的使用率。    

问题:   一边玩游戏,一边听音乐是同时进行的吗?   不是。因为单CPU在某一个时间点上只能做一件事情。   而我们在玩游戏,或者听音乐的时候,是CPU在做着程序间的高效切换让我们觉得是同时进行的。  

  4:什么是线程呢?  在同一个进程内又可以执行多个任务,而这每一个任务我就可以看出是一个线程。  线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。  单线程:如果程序只有一条执行路径。  多线程:如果程序有多条执行路径。

  5:多线程有什么意义呢?  多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率。  程序的执行其实都是在抢CPU的资源,CPU的执行权。  多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权。  我们是不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随机性。

6并行和并发的区别。

  前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。
  后者是物理上同时发生,指在某一个时间点同时运行多个程序。
Java程序的运行原理
   由java命令启动JVM,JVM启动就相当于启动了一个进程。
  接着有该进程创建了一个主线程去调用main方法。
 思考题:
   jvm虚拟机的启动是单线程的还是多线程的?
   多线程的。
    原因是垃圾回收线程也要先启动,否则很容易会出现内存溢出。
    现在的垃圾回收线程加上前面的主线程,最低启动了两个线程,所以,jvm的启动其实是多线程的。

转载于:https://www.cnblogs.com/lanjianhappy/p/6383890.html

你可能感兴趣的文章
racket学习-call/cc (let/cc)
查看>>
Two Sets(并查集分类)
查看>>
列表类型内置方法
查看>>
Java中IO操作
查看>>
黑马程序员训练营基础测试(Java版)
查看>>
动态主机配置协议(DHCP)
查看>>
Robot framework学习笔记
查看>>
HPUX修改disk实例号--11.31only
查看>>
linux运维、架构之路-Docker快速入门
查看>>
从人脑研究入手_使人工智能不再“四肢发达_头脑简单”
查看>>
centos6.8上PHP5.3升级到PHP5.4及更高版本方法
查看>>
django -----分页器组件
查看>>
win10家庭版添加本地账户方法
查看>>
Git学习笔记1---基础
查看>>
【转】微服务实践(七):从单体式架构迁移到微服务架构
查看>>
Vue开发中数据交互解决跨域问题
查看>>
qwb VS 去污棒 可持续化01字典树
查看>>
二叉树中和为某一值的路径
查看>>
ArrayList的toArray
查看>>
spring消费RESTfull服务
查看>>