Java基础-线程-线程介绍

Java工程师知识树 / Java基础
线程的介绍
? 操作系统中有一个Java语言编写的程序,想要运行这个程序就需要启动Java虚拟机。
? 当启动一个Java虚拟机(JVM)时,从操作系统开始就会创建一个新的进程(JVM进程),JVM进程中将会派生或者创建很多线程。
? 当启动多个Java虚拟机(JVM)时,操作系统会对应创建多个新的进程(JVM进程)。
? 针对线程来说,在一个JVM进程中,多个线程会出现并发的情况,在多个JVM进程中,分属不同JVM进程的多个线程之间会出现并行的情况。
其中涉及到的概念有:程序,进程,线程,并发,并行。两两对比,对照着更好理解。
程序与进程 进程是程序的一次运行活动,属于一种动态的概念。 程序是一组有序的静态指令,是一种静态的概念。
两者关系:进程是执行程序的动态过程,程序是进程运行的静态文本。
进程与线程 【Java基础-线程-线程介绍】线程是程序执行的一个路径,每一个线程都有自己的局部变量表、程序计数器(指向正在执行的指令指针)以及各自的生命周期。
两者关系:一个进程最少派生或者创建一个线程,并且可以同时并发运行多个线程。
单线程与多线程 只有一个主线程的程序,称作单线程程序。主线程负责执行程序的所有代码。这些代码只能顺序执行,无法并发执行,容易出现代码阻塞(程序没有反应)。
拥有多个线程的程序,称作多线程程序。可以根据需要开辟若干子线程。子线程和主线程都是独立的运行单元,各自的执行互不影响,因此能够并发执行,能有效地避免代码阻塞,并且提高程序的运行性能。
多线程中多个线程互不影响,以空间换时间,减少程序的响应时间。
多线程与并发 并发与多线程之间的关系就是目的与手段之间的关系。多线程是并发解决方案的一种,将原本可能是串行的计算"改为"并发的一种手段、途径或者模型。
通过多线程操作达到逻辑上的同时发生。
并发与并行 并发是指两个或多个事件在同一时间间隔内发生,而并行是指两个或多个事件在同一时刻发生。
并发是指一个处理器同时处理多个任务。并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。
Java基础-线程-线程介绍
文章图片
image

    推荐阅读