首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java并发编程之美如画
派大大大星
创建于2021-11-01
订阅专栏
Java并发编程之美如画
等 2 人订阅
共21篇文章
创建于2021-11-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java并发编程之LinkedBlockingQueue队列探究
前面一篇文章我们介绍了使用CAS算法实现的非阻塞队列ConcurrentLinedQueue, 下面我们来介绍使用独占锁实现的阻塞队列LinkedBlockingQueue。 LinkedBlocki
Java并发编程之ConcurrentLinkedQueue队列探究
ConcurrentLinkedQueue JDK中提供了一系列场景的并发安全队列。总的来说,按照实现方式的不同可分为阻塞队列和非阻塞队列,前者使用锁实现,而后则使用CAS非阻塞算法实现。 Concu
Java并发编程之StampedLock锁探究
StampedLock StampedLock是并发包里面JDK8版本新增的一个锁,该锁提供了三种模式的读写控制,当调用获取锁的系列函数时,会返回一个long 型的变量,我们称之为戳记(stamp),
Java并发编程之信号量Semapher
Semapher信号量也是Java中的一个同步器,与CountDownLatch和CycleBarrier不同的是,它内部的计数器是递增的,并且在一开始初始化Semaphoer时可以指定一个初始值,但
Java并发编程之回环屏障CyclicBarrier
CyclicBarrier 前面介绍的CountDownLatch在解决多个线程同步方面相对于调用线程的join方法已经有了不少优化。但是CountDownLatch的计数器是一次性的,也就是等到计数
Java并发编程之同步器CountDownLatch
CountDownLatch 在日常开发中经常会遇到需要在主线程中开启多个线程去并行执行任务,并且主线程需要等待所有子线程执行完毕后再进行汇总的场景。在 CountDownLatch 出现之前般都使用
Java并发包线程池ThreadPoolExecutor
线程池主要解决两个问题:一是当执行大量异步任务时线程池能够提供较好的性能。在不使用线程池时,每当需要执行异步任务时直接new一个线程来运行,而线程的创建和销毁都是需要开销的。线程池里面的线程是可复用的
Java并发编程之可重入锁ReentrantLock
这是我参与11月更文挑战的第24天,活动详情查看:2021最后一次更文挑战 ReentrantLock概述 ReentrantLock是可重入的独占锁,同时只能有一个线程可以获得锁,其他获取该锁的线程
Java并发编程之抽象同步队列AQS
简介 AbstractQueuedSyncronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中的锁的底层就是使用AQS实现的。 AQS是一个FIFO的双向队列,其内部通过节点hea
Java并发编程之LockSupport类
JDK中的rt.jar包中的LockSupport是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。 LockSupport类与每个使用它的线程都会关联一个许可证,在默认情
Java并发编程之CopyOnWriteArrayList
并发包中的并发List只有CopyOnWriteArrayList,这是一个线程安全的ArrayList,对其进行的修改操作都是在底层的一个复制的数组上进行的,使用了写时复制的策略。每个CopyOnW
Java并发编程之LongAdder类
AtomicLong通过CAS提供了非阻塞的原子性操作,但是使用AtomicLong时,在高并发下大量线程会同时间去竞争更新同一个原子变量,但是由于同时只有一个线程的CAS会操作成功,这就会造成了大量
Java并发编程之原子操作类
JUC包提供了一系列的原子性操作类,这些类都是使用非阻塞算法CAS实现的,相比使用锁实现原子性操作者在性能上有很大提升。JUC包中含有AtomicInteger、AtomicLong、AtomicBo
使用Python-VTK高亮显示actor
VTK,(visualizationtoolkit)是一个开放资源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含
Java并发编程之ThreadLocalRandom类
为什么需要ThreadLocalRandom java.util.Random一直都是使用比较广泛的随机数生成工具类,而且java.lang.Math中的随机数生成也是使用的java.util.Ran
Java并发编程之CAS操作和Unsafe 类
在Java中使用锁时,当一个线程没有获取到锁时会被阻塞挂起,这会导致线程上下文切换和重新调度开销。Java提供了非阻塞的volatile关键字解决共享变量可见性问题,这在一定程度上弥补了锁带来的开销问
Java并发编程之volatile关键字
JMM(Java Memory Model) 概述:JMM(Java Memory Model)Java内存模型,是java虚拟机规范中所定义的一种内存模型。 Java内存模型(Java Memory
Java并发编程之ThreadLocal类
多线程访问同一个共享变量时特别容易出现并发问题,特别是当多个线程对同一个共享变量就行写入时。为了保证线程安全,一般使用者在访问共享变量时需要进行适当的同步。ThreadLocal是由JDK包提供的,它
Java并发编程之线程死锁
死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的互相等待的现象,在无外力作用的情况下,这些线程会一直相互等待而无法继续运行下去。 线程产生死锁的四个条件: 互斥条件:指线程对已经获取到的资
Java并发编程之线程中断
Java中的线程中断是一种线程间的协作模式,通过设置线程的中断标志并不能直接终止该线程的执行,而是被中断的线程根据中断状态自行处理。 void interrupt()方法: 中断线程,例如当线程A运行
下一页