首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Java并发编程
哿威
创建于2021-08-15
订阅专栏
Java并发相关
暂无订阅
共10篇文章
创建于2021-08-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ThreadLocal
介绍 除了通过锁来控制资源访问外,我们可以通过ThreadLocal增加资源来保证所有对象的安全性。ThreadLocal从名字可以看出,这是线程的局部变量。只有当前线程可以访问,是线程安全的。
线程复用:线程池(ThreadPool)
本文主要介绍了线程池使用原因,使用方式,相关使用原理以及注意事项。需要掌握的关键点为:ThreadPoolExecutor|线程池生命周期|线程池实现原理以及处理流程
重入锁的好搭档:Condition
类似于Object的wait()和notify()与snchronized同步关键字配合,Condition接口await()和signal()与重入锁Lock配合也可以实现等待/通知模式。
重入锁:ReentrantLock
重入锁ReentrantLock,相对关键字synchronized比较灵活,需要手动加锁和释放锁。在JDK5中重入锁性能远远大于关键字synchronized。
线程阻塞工具类:LockSupport
介绍 LockSupport可以在线程内任意位置让线程阻塞,定义了一组公共静态方法提供最基本的线程阻塞和唤醒功能。
StampedLock
介绍 StampedLock为JDK1.8引入,可以认为它是读写锁的改进。读写锁使读与读之间并发,但读与写之间是阻塞的。如果有大量读线程会导致写线程一直阻塞从而可能引起写线程的“饥饿”。
ReadWriteLock读写锁
介绍 ReadWriteLock是JDK1.5提供的读写分离锁,它维护了一对锁,一个读锁和一个写锁。读写锁允许多个线程同时读,写写操作和读写操作依然需要互相等待和持有锁。
JDK并发包常用工具类(Semaphore、CountDownLatch、CyclicBarrier)
介绍 Semaphore、CountDownLatch、CyclicBarrier工具类提供了一种并发流程控制的手段,Exchager工具类则提供了在线程间交换数据的一种手段。
Java内存模型(JMM)和volatile
JMM介绍 JMM是为了保证多个线程之间可以有效的、正确的地协同工作而出现的。JMM的关键技术点都是围绕多线程的原子性,可见性和有序性来建立的。
java并发编程:线程概念以及基本操作
进程(程序的一次执行)是系统进行资源分配和调度的基本单位。线程是轻量级进程,是程序执行的最小单位。一个进程可以包含多个线程。使用多线程是为了更好的利用cpu资源,提高执行效率和吞吐率。 一般线程执行完毕会自动结束,无序手动关闭。但有些意外的情况不会终止,thread提供了sto…