并发编程
文章平均质量分 93
透彻理解Java并发编程系列
程序员田同学
一个专职程序员兼业余互联网写手
展开
-
Redis实现并发阻塞锁方案
由于用户同时访问线上的下订单接口,导致在扣减库存时出现了异常,这是一个很典型的并发问题,本篇文章为解决并发问题而生,采用的技术为Redis锁机制+多线程的阻塞唤醒方法。在实现Redis锁机制之前,我们需要了解一下前置知识。一、前置知识1、多线程将wait()、notifyAll()归为到多线程的方法中略有一些不恰当,这两个方法是Object中的方法。① 当调用了wait()方法后,让当前线程进入等待状态,并且让当前线程释放对象锁,等待既为阻塞状态,等待notifyAll()方法的唤醒。wait(原创 2022-04-28 15:26:31 · 2124 阅读 · 0 评论 -
Java并发编程系列之三JUC概述
上篇文章为解决多线程中出现的同步问题引入了锁的概念,上篇文章介绍的是Synchronized关键字锁,本篇文章介绍更加轻量级的锁Lock接口及引出JUC的相关知识。本文不力争阐释清楚JUC框架的所有内容,而是站在一定的高度下,了解Juc下包的设计与实现。文章目录一、LOCK锁概述二、JUC概述1、Lock框架① 接口: Condition②接口: Lock③接口: ReadWriteLock④抽象类: AbstractOwnableSynchonizer⑤抽象类(long): AbstractQueue原创 2022-04-15 16:36:14 · 193 阅读 · 0 评论 -
Java并发编程系列之二线程基础
上篇文章对并发的理论基础进行了回顾,主要是为什么使用多线程、多线程会引发什么问题及引发的原因,和怎么使用Java中的多线程去解决这些问题。正所谓,知其然知其所以然,这是学习一个知识遵循的原则。推荐读者先行查看并发编程的理论知识,以便可以丝滑入戏。并发编程系列之一并发理论基础本篇文章重点在于Java中怎么去使用多线程,和多线程的一些相关概念和操作,及怎么优化多线程。在Java中每个对象都有其生命周期,线程同样不例外,也有其生命周期。一、线程生命周期线程的几种状态转换1、新建(New)新创建原创 2022-04-07 15:38:00 · 166 阅读 · 0 评论 -
Java并发编程系列之一并发理论基础
Java并发编程系列之一并发理论基础本系列文章开始Java并发编程的进阶篇的学习,为了初学者对多线程的初步使用有基本概念和掌握,前置知识会对一些基础篇的内容进行介绍,以使初学者能够丝滑入戏。多线程学习,真正的难点不在于多线程程序的逻辑有多复杂,而在于理清J.U.C包中各个多线程工具类之间的关系、特点及其使用场景,学习应该是从整体到局部、高屋建瓴,这对学习任何知识都至关重要。站在上帝视角,以全局视野,抽丝剥茧,深入每个并发编程的各个包及APi的底层实现。概览下图为并发编程包含的所有知识。读者大致浏览原创 2022-03-30 15:13:08 · 452 阅读 · 0 评论