
java 并发编程
文章平均质量分 96
分享java 并发编程相关技术知识
志哥聊技术
一线互联网研发技术倾囊相授,专注原创分享!
展开
-
并发编程系列(十一) -超高并发读写锁StampedLock类介绍
StampedLock的使用方式比较简单,只需要实例化一个StampedLock对象,然后调用对应的读写方法即可,它有三个核心方法如下!原创 2025-02-28 16:55:35 · 791 阅读 · 0 评论 -
并发编程系列(十) -读写锁ReadWriteLock类介绍
实际上,读写锁ReadWriteLock里面有两个锁实现,一个是读操作相关的锁,称为共享锁,当多个线程同时操作时,不会让多个线程进行排队等待,大大的提升了程序并发读的执行效率;另一个是写操作相关的锁,称为排他锁,当多个线程同时操作时,只允许一个线程写入,其他线程进入排队等待;两者进行组合操作,就可以实现上面的预期效果。下面我们一起来看看它的基本用法!原创 2025-02-28 16:54:11 · 585 阅读 · 0 评论 -
并发编程系列(九) -可重入锁ReentrantLock类介绍(下)
在上一篇文章中,我们介绍了ReentrantLock类的一些基本用法,今天我们重点来介绍一下ReentrantLock其它的常用方法,以便对ReentrantLock类的使用有更深入的理解。原创 2025-01-27 10:34:48 · 802 阅读 · 0 评论 -
并发编程系列(八) -可重入锁ReentrantLock类介绍(上)
在之前的线程系列文章中,我们介绍到了使用synchronized关键字可以实现线程同步安全的效果,以及采用wait()、notify()和notifyAll()方法,可以实现多个线程之间的通信协调,基本可以满足并发编程的需求。原创 2025-01-27 10:32:52 · 862 阅读 · 0 评论 -
并发编程系列(七) -本地线程ThreadLocal介绍
在 Java web 项目中,想必很多的同学对ThreadLocal这个类并不陌生,它最常用的应用场景就是用来做对象的跨层传递,避免多次传递,打破层次之间的约束。原创 2024-12-31 15:41:36 · 675 阅读 · 0 评论 -
并发编程系列(六) -线程等待与唤醒机制介绍
在之前的线程系列文章中,我们介绍了synchronized和volatile关键字,使用它能解决线程同步的问题,但是它们无法解决线程之间协调和通信的问题。举个简单的例子,比如线程 A 负责将 int 型变量 i 值累加操作到 10000,然后通知线程 B 负责把结果打印出来。原创 2024-12-31 15:39:13 · 342 阅读 · 0 评论 -
并发编程系列(五) -死锁产生原因介绍
在之前的文章中,我们介绍了synchronized同步锁关键字的作用以及相关的用法,它能够保证同一时刻最多只有一个线程执行修饰的代码段,以实现线程安全执行的效果。但是如果过度的使用synchronized等方式进行加锁,程序可能会出现死锁现象。原创 2024-12-31 15:38:05 · 1139 阅读 · 0 评论 -
并发编程系列(四) -volatile关键字介绍
在上篇文章中,我们介绍到在多线程环境下,如果编程不当,可能会出现程序运行结果混乱的问题。出现这个原因主要是,JMM 中主内存和线程工作内存的数据不一致,以及多个线程执行时无序,共同导致的结果。原创 2024-12-31 15:36:16 · 921 阅读 · 0 评论 -
并发编程系列(三) -synchronized关键字介绍
在之前的线程系列文章中,我们介绍了线程创建的几种方式以及常用的方法介绍。今天我们接着聊聊多线程线程安全的问题,以及解决办法。实际上,在多线程环境中,难免会出现多个线程对一个对象的实例变量进行同时访问和操作,如果编程处理不当,会产生脏读现象。原创 2024-12-31 15:34:59 · 607 阅读 · 0 评论 -
并发编程系列(二) -Thread类介绍
在之前的文章中,我们简单的介绍了线程诞生的意义和基本概念,采用多线程的编程方式,能充分利用 CPU 资源,显著的提升程序的执行效率。其中java.lang.Thread是 Java 实现多线程编程最核心的类,学习Thread类中的方法,是学习多线程的第一步。下面我们就一起来看看,创建线程的几种方式以及Thread类中的常用方法。原创 2024-12-31 15:32:53 · 679 阅读 · 0 评论 -
并发编程系列(一) -多线程技术快速入门
在很多场景下,我们经常听到采用多线程编程,能显著的提升程序的执行效率。例如执行大批量数据的插入操作,采用单线程编程进行插入可能需要 30 分钟,采用多线程编程进行插入可能只需要 5 分钟就够了。既然多线程编程技术如此厉害,那什么是多线程呢?在介绍多线程之前,我们还得先讲讲进程和线程的概念。原创 2024-12-31 15:30:43 · 893 阅读 · 0 评论