java多线程

_whitepure4 个月前
cas·java多线程·unsafe·aba问题·cas原理
CAS详解CAS全称为Compare and Swap被译为比较并交换,是一种无锁算法。用于实现并发编程中的原子操作。CAS操作检查某个变量是否与预期的值相同,如果相同则将其更新为新值。CAS操作是原子的,这意味着在多个线程同时执行CAS操作时,不会发生竞争条件。
_whitepure4 个月前
java多线程·threadlocal·threadlocal原理
ThreadLocal详解ThreadLocal文档注释:文档大意:这个类提供线程局部变量。这些变量与普通变量的不同之处在于,每个访问它们的线程(通过其get方法或set方法)都有自己的独立初始化的变量副本。
王文搏7 个月前
java·开发语言·单例模式·java多线程
java中的单例模式单例模式就是程序中一个类只能有一个对象实例举个例子:这样写Test1类中Singleton1 s1 = new Singleton1();会报错,因为我们在Singleton1中把构造方法设置了私有
解码猿8 个月前
java·jvm·java多线程
深入浅出Java多线程(十三):阻塞队列大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第十三篇内容:阻塞队列。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!
程序员志哥8 个月前
java多线程
多线程系列(二十一) -ForkJoin使用详解从 JDK 1.7 开始,引入了一种新的 Fork/Join 线程池框架,它可以把一个大任务拆成多个小任务并行执行,最后汇总执行结果。
程序员志哥8 个月前
java多线程
多线程系列(二十) -CompletableFuture使用详解在上篇文章中,我们介绍了Future相关的用法,使用它可以获取异步任务执行的返回值。我们再次回顾一下Future相关的用法。
程序员志哥8 个月前
java多线程
多线程系列(十九) -Future使用详解在前几篇线程系列文章中,我们介绍了线程池的相关技术,任务执行类只需要实现Runnable接口,然后交给线程池,就可以轻松的实现异步执行多个任务的目标,提升程序的执行效率,比如如下异步执行任务下载。
程序员志哥8 个月前
java多线程
多线程系列(十八) -AQS原理浅析在之前的文章中,我们介绍了 ReentrantLock、ReadWriteLock、CountDownLatch、CyclicBarrier、Semaphore、ThreadPoolExecutor 等并发工具类的使用方式,它们在请求共享资源的时候,都能实现线程同步的效果。
程序员志哥8 个月前
java多线程
多线程系列(十七) -线程组介绍在之前的多线程系列文章中,我们陆陆续续的介绍了Thread线程类相关的知识和用法,其实在Thread类上还有一层ThreadGroup类,也就是线程组。
解码猿8 个月前
java·jvm·java多线程
深入浅出Java多线程(十一):AQS大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第十一篇内容:AQS(AbstractQueuedSynchronizer)。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!
程序员志哥8 个月前
java多线程
多线程系列(十六) -常用并发原子类详解在 Java 的java.util.concurrent包中,除了提供底层锁、并发同步等工具类以外,还提供了一组原子操作类,大多以Atomic开头,他们位于java.util.concurrent.atomic包下。
程序员志哥8 个月前
java多线程
多线程系列(十五) -常用并发工具类详解在前几篇文章中,我们讲到了线程、线程池、BlockingQueue 等核心组件,其实 JDK 给开发者还提供了比synchronized更加高级的线程同步组件,比如 CountDownLatch、CyclicBarrier、Semaphore、Exchanger 等并发工具类。
程序员志哥8 个月前
java多线程
多线程系列(十四) -一文带你搞懂线程池技术虽然 Java 对线程的创建、中断、等待、通知、销毁、同步等功能提供了很多的支持,但是从操作系统角度来说,频繁的创建线程和销毁线程,其实是需要大量的时间和资源的。
程序员志哥8 个月前
java多线程
多线程系列(十三) -一文带你搞懂阻塞队列在之前的文章中,我们介绍了生产者和消费者模型的最基本实现思路,相信大家对它已经有一个初步的认识。在 Java 的并发包里面还有一个非常重要的接口:BlockingQueue。
程序员志哥8 个月前
java多线程
多线程系列(十二) -生产者和消费者模型在 Java 多线程编程中,还有一个非常重要的设计模式,它就是:生产者和消费者模型。这种模型可以充分发挥 cpu 的多线程特性,通过一些平衡手段能有效的提升系统整体处理数据的速度,减轻系统负载,提高程序的效率和稳定性,同时实现模块之间的解耦。
程序员志哥8 个月前
java多线程
多线程系列(十一) -浅析并发读写锁StampedLock在上一篇文章中,我们讲到了使用ReadWriteLock可以解决多线程同时读,但只有一个线程能写的问题。
程序员志哥8 个月前
java多线程
多线程系列(十) -ReadWriteLock用法详解在上篇文章中,我们讲到ReentrantLock可以保证了只有一个线程能执行加锁的代码。但是有些时候,这种保护显的有点过头,比如下面这个方法,它仅仅就是只读取数据,不修改数据,它实际上允许多个线程同时调用的。
程序员志哥8 个月前
java多线程
多线程系列(九) -ReentrantLock常用方法详解在上一篇文章中,我们介绍了ReentrantLock类的一些基本用法,今天我们重点来介绍一下ReentrantLock其它的常用方法,以便对ReentrantLock类的使用有更深入的理解。
程序员志哥9 个月前
java多线程
多线程系列(七) -ThreadLocal 用法及内存泄露分析在 Java web 项目中,想必很多的同学对ThreadLocal这个类并不陌生,它最常用的应用场景就是用来做对象的跨层传递,避免多次传递,打破层次之间的约束。
程序员志哥9 个月前
java多线程
多线程系列(五) -死锁分析及解决办法介绍在之前的文章中,我们介绍了synchronized同步锁关键字的作用以及相关的用法,它能够保证同一时刻最多只有一个线程执行修饰的代码段,以实现线程安全执行的效果。