首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
user2751808314381
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
(五)深入剖析并发之AQS独占锁&重入锁(ReetrantLock)及Condition实现原理
引言 在我们前面的文章《深入理解Java并发编程之无锁CAS机制》中我们曾提到的CAS机制如果说是整个Java并发编程基础的话,那么本章跟大家所讲述的AQS则是整个Java JUC的核心。不过在学习A
并发编程-常见并发工具CountDownLatch、Semaphore、Atomic
CountDownLatch 常用方法 await():用于等待所有线程执行完毕。在使用 countDown() 方法减少等待线程数后,剩余的线程将会在await()方法调用后开始执行。如果在等待..
多线程同步必学:CountDownLatch的核心原理与应用
前言 CountDownLatch 是 Android 平台中常用的线程同步工具类,它可以让一个或多个线程等待其他线程完成某个任务后再继续执行。它通过一个计数器来实现,计数器的初始值可以设置为一个正整
ForkJoinPool与ThreadPoolExecutor的对比与选择
除了通用的ThreadPoolExecutor之外,Java还提供了一个有特殊用途的线程池,即ForkJoinPool。这个类跟ThreadPoolExecutor类大体相似,实现了Executor和
多线程知识:三个线程如何交替打印ABC循环100次
本文博主给大家讲解一道网上非常经典的多线程面试题目。关于三个线程如何交替打印ABC循环100次的问题。 问题描述 给定三个线程,分别命名为A、B、C,要求这三个线程按照顺序交替打印ABC,每个字母打印
合理使用线程池以及线程变量
随着计算技术的不断发展,3纳米制程芯片已进入试产阶段,摩尔定律在现有工艺下逐渐面临巨大的物理瓶颈,通过多核处理器技术来提升服务器的性能成为提升算力的主要方向。
初识Lock与AbstractQueuedSynchronizer(AQS)
1. concurrent包的结构层次 在针对并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编程的掌握更加透彻也会大大提升我们队并发编程技术的热爱。这些代码在java.util.concurrent包下。如下图,即为co…
深入理解AbstractQueuedSynchronizer(AQS)
1. AQS简介 在上一篇文章中我们对lock和AbstractQueuedSynchronizer(AQS)有了初步的认识。在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的模板方法实现同步组件语义,AQS则实现了对同步状态的管理,以及对阻塞线程进行排…
CAS、原子操作类的应用与浅析及Java8对其的优化
前几天刷朋友圈的时候,看到一段话:如果现在我是XX,那么我现在不管怎么努力,也还是XX,因为我现在的XX是由以前决定的,现在努力,是为了让以后的自己不再XX。话糙理不糙,如果妄想现在努力一下,马上就不再XX,那是不可能的,需要积累,需要沉淀,才能慢慢的不再XX。 好了,鸡汤喝完…
Java并发(10)- 简单聊聊JDK中的七大阻塞队列
JDK中除了上文提到的各种并发容器,还提供了丰富的阻塞队列。阻塞队列统一实现了BlockingQueue接口,BlockingQueue接口在java.util包Queue接口的基础上提供了put(e)以及take()两个阻塞方法。他的主要使用场景就是多线程下的生产者消费者模式…