行业资讯 2025年08月6日
0 收藏 0 点赞 728 浏览 1318 个字
摘要 :

文章目录 1.JUC简介 2.进程和线程的概念  进程概念 线程概念 总结来讲 3.线程的状态 4 并发和并行含义及区别 5 管程 6 用户线程和守护线程 总结 本文重点讲解Java并……




  • 1.JUC简介
  • 2.进程和线程的概念
    •  进程概念
    • 线程概念
    • 总结来讲
  • 3.线程的状态
  • 4 并发和并行含义及区别
  • 5 管程
  • 6 用户线程和守护线程
  • 总结

本文重点讲解Java并发编程:JUC概述相关内容,讲解相关JUC相关的概念知识。

1.JUC简介

JUC是java.util.concurrent工具包的简称,这是一个处理线程的工具包,JDK1.5开始出现,在此包中增加了在并发编程中很常用的工具类,其目的是为了更好的支持高并发任务。

2.进程和线程的概念

 进程概念

进程(process)是计算机程序中关于某数据集合的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

在当代面向线程设计的计算机结构中,进程是线程的容器。

程序是指令、数据及其组织形式的描述,进程是程序的实体。

线程概念

线程(thread)是操作系统能够进行调度的最小单位。它被包含在进程之中,是进程中的实际运行单位。

一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

总结来讲

  • 进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程是资源分配的最小单位。
  • 线程:系统分配处理器时间资源的基本单位,或者说进程内独立执行的一个单元执行流。线程是程序执行的最小单位。

更详细的请看这篇《Java多线程:线程和进程的概念及区别》文章!

3.线程的状态

1、JDK1.5 之后,线程的状态变成了6种,也就是下面Thread.State枚举类中的这6种状态,要想更具体了解这6种状态的关系,请看《Java多线程:线程的生命周期》这篇文章!

public enum State {
    NEW,              //新建
    RUNNABLE,         //准备就绪
    BLOCKED,          //阻塞
    WAITING,          //等待,一直等
    TIMED_WAITING,    //等待,逾时不候
    TERMINATED;       //终结
}

2、 wait/sleep的区别

  • sleep是Thread的静态方法;wait是Object的方法,任何对象实例都能调用wait方法。
  • sleep不会释放锁,它也不需要占用锁;wait会释放锁,但调用它的前提是当前线程占有锁(即代码要在synchronized中)。
  • 它们都可以被interrupted方法中断。

4 并发和并行含义及区别

1、并发:

  • 并发是指两个或多个事件在同一时间间隔发生。
  • 并发侧重于在同一实体上。
  • 并发在一台处理器上“同时”处理多个任务。

2、并行:

  • 并行是指两个或者多个事件在同一时刻发生。
  • 并行侧重于在不同实体上。
  • 并行在多台处理器上同时处理多个任务。

Java并发编程:JUC概述

5 管程

管程(monitor),是一种同步机制,保证在某一时间段,只有一个线程在访问被保护的数据或代码。

JVM同步是基于进入和退出的,这是使用管程对象来实现的。

6 用户线程和守护线程

1)用户线程:平时用到的普通线程均是用户线程,当在Java程序中创建一个线程,它就被称为用户线程。

注意:如果主线程结束,但是用户线程还存在,此时JVM不会退出。

2)守护线程:是个服务线程,准确地来说就是服务其他的线程。比如垃圾回收线程。

注意:如果没有用户线程了,只有守护线程,JVM会退出。

总结

以上就是Java并发编程:JUC概述的全部内容,希望对你有帮助!

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9735.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号