![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 96
线程-锁-线程池
a18792721831
这个作者很懒,什么都没留下…
展开
-
从0开始学java IO
从0开始学java IOIO 发展BIO设计思想核心类SocketIO 流BIO实例 -- 多人聊天室客户端服务端双阻塞客户端阻塞服务端并发客户端阻塞服务端复用线程并发客户端并发服务端复用线程并发NIOBIO VS NIO设计思想核心类BufferChannelSelectorNIO 实例 -- 本地文件拷贝 -- 编程步骤NIO 改写 BIO 项目 -- 多人聊天室改写前 VS 改写后AIOBIO VS NIO VS AIO设计思想核心类AIO 实例 -- 回音壁 -- 编程步骤AIO 改写 NIO 项目原创 2021-03-20 15:19:47 · 242 阅读 · 0 评论 -
通用查询项目总结
通用查询项目总结1. 初接项目2. 着手项目2.1 第一版2.2 第二版2.3 第三版2.4 第四版2.5 复杂条件开发2.6 总结3. 如何快速有效的分析现有代码逻辑3.1 数据模型3.2 动态模型3.3 软件工程4. 快速的,系统的了解一个框架5. xml的资源的读取6. 业务逻辑在代码中保持清晰7. 规范化,在规范化8. 多线程9. 统一处理9.1 日志统一格式9.2 异常统一定义10. 高效的工具使工作更高效10.1 自己的工作效率10.2 与别人协作的效率11. 处处留名,多做记录12. 说明通原创 2020-09-17 13:40:54 · 370 阅读 · 0 评论 -
Java基础--多线程-ConcurrentHashMap(JDK1.8)--转载
Java基础--多线程-ConcurrentHashMap前言ConcurrentHashMap(JDK1.7)putgetsizeConcurrentHashMap(JDK1.8)前言HashMap非线程安全的,HashTable是线程安全的,所有涉及到多线程操作的都加上了synchronized关键字来锁住整个table,这就意味着所有的线程都在竞争一把锁,在多线程的环境下,它是安全的,但是无疑效率低下的。ConcurrentHashMap(JDK1.7)在JDK1.7中,ConcurrentH转载 2020-07-10 19:05:54 · 232 阅读 · 0 评论 -
Java基础--ThreadPoolExecutor--线程池和锁
Java基础--ThreadPoolExecutor--线程池和锁原创 2020-07-11 17:17:23 · 932 阅读 · 0 评论 -
Java基础--ConcurrentHashMap--线程安全的哈希Map--转载
Java基础--ConcurrentHashMap--线程安全的哈希Map转载 2020-07-09 20:10:12 · 164 阅读 · 0 评论 -
Java基础--Semaphore--计数信号量锁
Java基础--Semaphore--计数信号量锁原创 2020-07-04 13:29:16 · 434 阅读 · 0 评论 -
Java基础--StampedLock--强化读写锁
Java基础--StampedLock--强化读写锁原创 2020-07-08 19:59:39 · 620 阅读 · 1 评论 -
Java基础--CyclicBarrier--屏障锁(循环计数器锁)
@toc原创 2020-07-02 21:52:16 · 508 阅读 · 0 评论 -
Java基础--CountDownLatch--计数器锁(门闩锁)
@toc1. CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarrier。1.1 CountDownLatch 的UML图1.2 C原创 2020-07-01 20:02:26 · 963 阅读 · 0 评论 -
Java基础--ReentrantReadWriterLock--重入读写锁
Java基础--ReentrantReadWriterLock--重入读写锁1. ReentrantReadWriterLock的整体结构1.1 ReentrantReadWriterLock的UML图1.2 ReentrantReadWriterLock的属性、方法2. ReentrantReadWriterLock 实现ReadWriterLock接口2.1 readLock2.2 writerLock3. ReentrantReadWriterLock 内部类Sync继承了AQS1. Reentra原创 2020-07-01 14:26:09 · 365 阅读 · 1 评论 -
Java基础--ReentrantLock--重入锁
Java基础--ReentrantLock--重入锁1. ReentrantLock的整体结构1.1 ReentrantLock的UML图1.2 ReentrantLock的属性、方法2. ReentrantLock 实现Lock接口2.1 tryLock2.2 tryLock(long,TimeUnit)2.3 lock2.4 lockInterruptibly2.5 unlock2.6 newCondition3. ReentrantLock 内部Sync实现了AQS3.1 lock3.2 nonfai原创 2020-06-29 19:01:22 · 314 阅读 · 0 评论 -
Java基础--AQS的Condition源码解析
5.2 ConditionObject首先通过2.4.2.2接口方法说明,可以知道condition有两个状态,分别是等待通知状态,等待锁状态。通过调用await类的方法,将线程转换为等待通知状态。通过调用signal类的方法,将线程从等待通知状态转换为等待锁状态。ConditionObject的属性有两类:1.双向链表的头,双向链表的尾2.状态属性:只有1,-1取值。既然ConditionObject实现了Condition接口,那么ConditionObject里面的方法实际上都是为了实原创 2020-06-27 18:26:00 · 510 阅读 · 4 评论 -
Java基础--synchronized原理详解
Java基础--锁1. 多线程特性1.1 原子性(Atomicity)1.2 可见性(Visibility)1.3 有序性(Ordering)1.4 Happen-Before原则2. 锁定义3. 锁类型3.1 乐观锁3.2 悲观锁3.3 自旋锁1. 多线程特性1.1 原子性(Atomicity)原子性是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一单开始,就不会被其他线程干扰。1.2 可见性(Visibility)可见性是指当一个线程修改了某一个共享变量的值,其他线程是否能够原创 2020-06-13 13:19:39 · 382 阅读 · 0 评论