线程的相关概念
2016-05-03 22:51
246 查看
什么是线程呢?
在同一个进程内又可以执行多个任务,而这每一个任务我就可以看成是一个线程。
线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。
单线程:如果程序只有一条执行路径。
多线程:如果程序有多条执行路径。
5:多线程有什么意义呢?
多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率。
程序的执行其实都是在抢CPU的资源,CPU的执行权。
多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权。
我们是不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随机性。
并行和并发:
前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。
后者是物理上同时发生,指在某一个时间点同时运行多个程序。
Java程序运行原理
java 命令会启动 java 虚拟机,启动 JVM,等于启动了一个应用程序,也就是启动了一个进程。该进程会自动启动一个“主线程” ,然后主线程去调用某个类的main 方法。所以 main方法运行在主线程中。在此之前的所有程序都是单线程的。
思考:
jvm虚拟机的启动是单线程的还是多线程的?
是多线程,至少有主线程和垃圾回收线程。
在同一个进程内又可以执行多个任务,而这每一个任务我就可以看成是一个线程。
线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。
单线程:如果程序只有一条执行路径。
多线程:如果程序有多条执行路径。
5:多线程有什么意义呢?
多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率。
程序的执行其实都是在抢CPU的资源,CPU的执行权。
多个进程是在抢这个资源,而其中的某一个进程如果执行路径比较多,就会有更高的几率抢到CPU的执行权。
我们是不敢保证哪一个线程能够在哪个时刻抢到,所以线程的执行有随机性。
并行和并发:
前者是逻辑上同时发生,指在某一个时间内同时运行多个程序。
后者是物理上同时发生,指在某一个时间点同时运行多个程序。
Java程序运行原理
java 命令会启动 java 虚拟机,启动 JVM,等于启动了一个应用程序,也就是启动了一个进程。该进程会自动启动一个“主线程” ,然后主线程去调用某个类的main 方法。所以 main方法运行在主线程中。在此之前的所有程序都是单线程的。
思考:
jvm虚拟机的启动是单线程的还是多线程的?
是多线程,至少有主线程和垃圾回收线程。
相关文章推荐
- java并发编程(8)--volatile
- Linux编译工具:gcc入门
- 程序编译过程
- 88_View绘制流程
- properties
- 毕业设计之android混合模式开发第一天--具有下拉刷新和页面加载等待的WebView搭建
- Restore IP Addresses
- 解决VS2013找不到windows.h文件方法
- Session 'MainActivity': Error Launching activity
- 第十周练习 继承 二义性和作用域操作限定标识符 阅读程序
- 小米网css3导航下拉菜单代码
- 详解Bootstrap面板组件
- Activity四种启动模式
- iOS中https的网络请求的配置
- 87_retrofit的使用
- Android广播常用案例
- 函数指针和回调函数
- C# 中的 ConfigurationManager类引用方法
- BZOJ 3674: 可持久化并查集加强版 可持久化并查集
- apollo各协议支持的客户端