Java基础-线程-线程介绍
Java工程师知识树 / Java基础
线程的介绍
? 操作系统中有一个Java语言编写的程序,想要运行这个程序就需要启动Java虚拟机。
? 当启动一个Java虚拟机(JVM)时,从操作系统开始就会创建一个新的进程(JVM进程),JVM进程中将会派生或者创建很多线程。
? 当启动多个Java虚拟机(JVM)时,操作系统会对应创建多个新的进程(JVM进程)。
? 针对线程来说,在一个JVM进程中,多个线程会出现并发的情况,在多个JVM进程中,分属不同JVM进程的多个线程之间会出现并行的情况。
其中涉及到的概念有:程序,进程,线程,并发,并行。两两对比,对照着更好理解。
程序与进程
进程是程序的一次运行活动,属于一种动态的概念。 程序是一组有序的静态指令,是一种静态的概念。
两者关系:进程是执行程序的动态过程,程序是进程运行的静态文本。
进程与线程
【Java基础-线程-线程介绍】线程是程序执行的一个路径,每一个线程都有自己的局部变量表、程序计数器(指向正在执行的指令指针)以及各自的生命周期。
两者关系:一个进程最少派生或者创建一个线程,并且可以同时并发运行多个线程。
单线程与多线程
只有一个主线程的程序,称作单线程程序。主线程负责执行程序的所有代码。这些代码只能顺序执行,无法并发执行,容易出现代码阻塞(程序没有反应)。
拥有多个线程的程序,称作多线程程序。可以根据需要开辟若干子线程。子线程和主线程都是独立的运行单元,各自的执行互不影响,因此能够并发执行,能有效地避免代码阻塞,并且提高程序的运行性能。
多线程中多个线程互不影响,以空间换时间,减少程序的响应时间。
多线程与并发
并发与多线程之间的关系就是目的与手段之间的关系。多线程是并发解决方案的一种,将原本可能是串行的计算"改为"并发的一种手段、途径或者模型。
通过多线程操作达到逻辑上的同时发生。
并发与并行
并发是指两个或多个事件在同一时间间隔内发生,而并行是指两个或多个事件在同一时刻发生。
并发是指一个处理器同时处理多个任务。并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。
文章图片
image
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- Linux下面如何查看tomcat已经使用多少线程
- 数组常用方法一
- Python基础|Python基础 - 练习1
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- 多线程NSOperation