首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java
fw19940314
创建于2021-11-07
订阅专栏
Java
等 1 人订阅
共15篇文章
创建于2021-11-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
CAS优缺点
前面讲过CAS原理CAS 并发编程思想CAS 是有很多优点的,比如可以避免加互斥锁,可以提高程序的运行效率,但是同样 CAS 也有非常明显的缺点。所以我们在使用 CAS 的时候应该同时考虑到它的优缺点
CAS 并发编程思想
CAS 简介 CAS 是什么,它的英文全称是 Compare-And-Swap,中文叫做“比较并交换”,它是一种思想、一种算法。 在多线程的情况下,各个代码的执行顺序是不能确定的,所以为了保证并发安全
Adder & Accumulator 区别
前面介绍了 AtomicLong 与LongAdder区别,也就是Atomic* 与*Adder区别,具体参考前面的文章# 并发操作 AtomicLong & LongAdder区别
线程的状态及使用方法
前面的文章中有多多线程及线程池使用的详解,今天着重介绍一下线程的知识。首先了解一下线程和进程的关系线程(Thread)是并发编程的基础,也是程序执行的最小单元,它依托进程而存在...
并发操作 AtomicLong & LongAdder区别
在 JDK1.5 中新增了并发情况下使用的 Integer/Long 所对应的原子类 AtomicInteger 和 AtomicLong。 在并发的场景下,如果我们需要实现计数器...
Future & FutureTask 使用详解
Future 的作用 Future最主要的作用是,比如当做一定运算的时候,运算过程可能比较耗时,有时会去查数据库,或是繁重的计算,比如压缩、加密等...
Callable 与 Runnable 区别
Callable 与 Runnable 区别 Runnable的特点 首先 Runnable接口我们使用的过程中,只需实现接口且实现run()方法,run方法没有方法的返回值。就是说我们只能在run方
ThreadLocal使用及源码分析
通常的业务开发中,ThreadLocal 有两种典型的使用场景。 ThreadLocal 用作保存每个线程独享的对象,为每个线程都创建一个副本,这样每个线程都可以修改自己所拥有的副本, 而不会影响其他
原子类是如何利用 CAS 保证线程安全
什么是原子类及原子类的作用提到原子类,第一反应应该就是数据库的原子性的特性,在编程领域里,原子性意味着“一组操作要么全都操作成功,要么全都失败,不能只操作成功其中的一部分”。
Java8 之Optional 的使用
作为java8的新特性之一,可选在没有接触之前没有感受到过他的魅力,当真正的去用它才感觉到魅力之所在。可选,JAVA新增的工具类...
阻塞队列非阻塞队列原理分析
前面的博客中 并发编程-阻塞队列及使用 介绍了常见的阻塞队列的特点以及基本的使用,这里以ArrayBlockingQueue为例,首先分析 BlockingQueue 即阻塞队列的线程安全原理...
并发编程-阻塞队列及使用
阻塞队列介绍 阻塞队列 前面线程池详解的文中,线程池详解 我们知道线程池的创建需要我们定义队列。不同的线程池,根据使用场景的不同,底层所用的队列也不同。如图不同场景线程所对应的阻塞队列...
Java-线程池详解
线程池 线程池详解 参数含义 2. 线程创建时机 假设我们的任务特别的多,已经达到了workQueue的容量上限,这时线程池就会启动后备力量,也就是maxPoolsize最大线程数...
Java-锁
锁 Java 中的锁而言,一把锁也有可能同时占有多个标准,符合多种分类,比如 ReentrantLock 既是可中断锁,又是可重入锁。 根据分类标准我们把锁分为以下 7 大类别,分别是: 偏向锁/轻量
并发编程-多线程
线程 实现线程方式 实现Runable接口 第 1 种方式是通过实现 Runnable 接口实现多线程,如代码所示,首先通过 RunnableThread 类实现 Runnable 接口...