文章 2025-10-09 来自:开发者社区

【JUC】(6)带你了解共享模型之 享元和不可变 模型并初步带你了解并发工具 线程池Pool,文章内还有饥饿问题、设计模式之工作线程的解决于实现

1.共享模型之不可变 1.1 日期转换的问题 存在线程安全问题 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 0; i < 10; i++) { new Thr...

【JUC】(6)带你了解共享模型之 享元和不可变 模型并初步带你了解并发工具 线程池Pool,文章内还有饥饿问题、设计模式之工作线程的解决于实现
文章 2025-10-09 来自:开发者社区

【JUC】(3)常见的设计模式概念分析与多把锁使用场景!!理解线程状态转换条件!带你深入JUC!!文章全程笔记干货!!

1. 常见设计模式与多把锁使用场景 1.1 同步模式之保护性暂停 即 Guarded Supension,用在一个线程等待另一个线程的执行结果 要点: 有一个结果需要仓一个线程传递到另一个线程,让他们关联同一个 GuardedObject 如果有结果不断从一个线程到另一个线程那么可以使用消息队列(见生产者/消费者) JDK中,joi...

【JUC】(3)常见的设计模式概念分析与多把锁使用场景!!理解线程状态转换条件!带你深入JUC!!文章全程笔记干货!!
文章 2025-10-09 来自:开发者社区

【JUC】(1)带你重新认识进程与线程!!让你深层次了解线程运行的睡眠与打断!!

0. 前言 JUC并不是面向初学者的,并且关于JUC线程安全问题,需要接触过JavaWeb开发、JDBC开发、Web服务器、分布式框架才会遇到 所有代码基于jdk1.8,使用了 slf4j 打印日志调试更加方便、lombok简化java bean的编写、Junit测试工具单独测试类 maven父工程依赖: ...

【JUC】(1)带你重新认识进程与线程!!让你深层次了解线程运行的睡眠与打断!!
文章 2025-10-08 来自:开发者社区

JUC系列之《CountDownLatch:同步多线程的精准发令枪 》

引言 一、为什么需要CountDownLatch? 二、核心概念与工作原理 三、使用方式与API详解 四、经典应用场景 五、底层原理简析 六、总结与最佳实践 互动环节 引言 在多线程编程中,我们经常遇到这样...

JUC系列之《CountDownLatch:同步多线程的精准发令枪 》
文章 2025-05-06 来自:开发者社区

JUC并发—11.线程池源码分析

大纲 1.线程池的优势和JUC提供的线程池 2.ThreadPoolExecutor和Excutors创建的线程池 3.如何设计一个线程池 4.ThreadPoolExecutor线程池的执行流程 5.ThreadPoolExecutor的源码分析 6.如何合理设置线程池参数 + 定制线程池   1.线程池的优势和JUC提...

JUC并发—11.线程池源码分析
文章 2024-08-30 来自:开发者社区

JUC线程池: FutureTask详解

在Java的并发编程领域,FutureTask是一个非常重要的类,它提供了一种异步执行的能力,可以处理可能需要花费一定时间完成的任务,并在任务执行完毕后得到其执行的结果,是Java并发包java.util.concurrent的一部分。 FutureTask实现了Future接口和Runnable接口,因而可以被...

文章 2024-08-23 来自:开发者社区

JUC线程池: ScheduledThreadPoolExecutor详解

在Java并发编程领域,ScheduledThreadPoolExecutor是 java.util.concurrent包中的一个关键类,它是 ThreadPoolExecutor的子类,用于在给定的延迟之后,或定期执行任务。 基本概念 ScheduledThreadPoolExecutor主要用于执行那些需要多次或在特定时间执行的周期性...

文章 2024-08-15 来自:开发者社区

JUC(1)线程和进程、并发和并行、线程的状态、lock锁、生产者和消费者问题

1、线程和进程 进程:一个程序,微信、qq、、、程序的集合。(一个进程包含多个线程,至少包含一个线程。java默认有两个线程:主线程(main)、垃圾回收线程(GC) 线程:runnable、thread 、callablejava开不了线程,在源码中可以看出,调用的是底层的方法 private native void start0(); 2、并发和并行 并发:交...

JUC(1)线程和进程、并发和并行、线程的状态、lock锁、生产者和消费者问题
文章 2024-06-26 来自:开发者社区

JUC多线程-线程池-Thredalocal-CAS-AQS-死锁

一、多线程 1.进程和线程的区别 进程是系统运行的最小单位,一个java程序是一个进程,是互相独立的 线程是独立运行的最小单位,一个java程序可以有多个线程,线程之间可以共享数据 2.死锁的必要条件 互斥:同一资源同一时刻只能由一个程序读取 不可抢占:不能强行剥夺线程占有的资源 请求和保持:请求其他资源的时候对手中的资源保持不放 ...

文章 2024-05-28 来自:开发者社区

多线程(JUC, ReentrantLock, 原子类, 线程池, 信号量 Semaphore, CountDownLatch)

JUC Java.util.concurrent 包, 存放了并发编程相关的组件, 目的是更好的支持高并发任务 (多线程只是实现并发编程的一种具体方式 …) ReentrantLock synchronized 对对象加锁, 保...

多线程(JUC, ReentrantLock, 原子类, 线程池, 信号量 Semaphore, CountDownLatch)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐