美文网首页Java工程师知识树
Java基础-线程-线程介绍

Java基础-线程-线程介绍

作者: HughJin | 来源:发表于2021-01-26 08:38 被阅读0次

Java工程师知识树 / Java基础


线程的介绍

​ 操作系统中有一个Java语言编写的程序,想要运行这个程序就需要启动Java虚拟机。
​ 当启动一个Java虚拟机(JVM)时,从操作系统开始就会创建一个新的进程(JVM进程),JVM进程中将会派生或者创建很多线程
​ 当启动多个Java虚拟机(JVM)时,操作系统会对应创建多个新的进程(JVM进程)
​ 针对线程来说,在一个JVM进程中,多个线程会出现并发的情况,在多个JVM进程中,分属不同JVM进程的多个线程之间会出现并行的情况。

其中涉及到的概念有:程序,进程,线程,并发,并行。两两对比,对照着更好理解。

程序与进程

进程是程序的一次运行活动,属于一种动态的概念。 程序是一组有序的静态指令,是一种静态的概念

两者关系:进程是执行程序的动态过程,程序是进程运行的静态文本。

进程与线程

线程是程序执行的一个路径,每一个线程都有自己的局部变量表、程序计数器(指向正在执行的指令指针)以及各自的生命周期。
两者关系:一个进程最少派生或者创建一个线程,并且可以同时并发运行多个线程。

单线程与多线程

只有一个主线程的程序,称作单线程程序。主线程负责执行程序的所有代码。这些代码只能顺序执行,无法并发执行,容易出现代码阻塞(程序没有反应)。

拥有多个线程的程序,称作多线程程序。可以根据需要开辟若干子线程。子线程和主线程都是独立的运行单元,各自的执行互不影响,因此能够并发执行,能有效地避免代码阻塞,并且提高程序的运行性能。

多线程中多个线程互不影响,以空间换时间,减少程序的响应时间。

多线程与并发

并发与多线程之间的关系就是目的与手段之间的关系。多线程是并发解决方案的一种,将原本可能是串行的计算"改为"并发的一种手段、途径或者模型。

通过多线程操作达到逻辑上的同时发生。

并发与并行

并发是指两个或多个事件在同一时间间隔内发生,而并行是指两个或多个事件在同一时刻发生。

并发是指一个处理器同时处理多个任务。并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。

image

相关文章

  • Java基础-线程-线程介绍

    Java工程师知识树[https://www.jianshu.com/p/db77d19a25f6] / Ja...

  • Java多线程学习(三)——synchronized(上)

    在前两节的《Java多线程学习(一)——多线程基础》和《Java多线程学习(二)——Thread类的方法介绍》中我...

  • java面试

    宝宝点击这里寻找部分答案 自我介绍 java基础 1、线程 进程和线程的区别线程间通信方法,Java如何实现怎么用...

  • java多线程基础

    多线程是java基础中不可或缺的一块内容,本文主要介绍java线程使用方法,线程同步,线程状态及基本方法;在这里我...

  • Java多线程目录

    Java多线程目录 Java多线程1 线程基础Java多线程2 多个线程之间共享数据Java多线程3 原子性操作类...

  • 高并发编程总纲

    个人介绍 Java多线程,各种并发集合,线程安全。 Java锁,性能以及效率。 框架netty。在netty基础上...

  • Android中的多线程

    1. Java多线程基础 Java多线程,线程同步,线程通讯 2. Android常用线程 HandlerThre...

  • 多线程--同步与锁

    同步与锁 上一篇中,笔者介绍了Java多线程的基础知识,主要讲解了进程/线程的区别、Java多线程的创建、Java...

  • Java多线程目录

    一 Java并发基础介绍二 Thread类三 线程终止四 Java多线程内存模型五 volatile关键字六 sy...

  • android 多线程 — 线程的面试题和答案

    这里都是我从各个地方找来的资料,鸣谢: Java多线程干货系列—(一)Java多线程基础 JAVA多线程和并发基础...

网友评论

    本文标题:Java基础-线程-线程介绍

    本文链接:https://www.haomeiwen.com/subject/gwaczktx.html