摘要:
CyclicBarrier详解 简介 阻塞一组线程,直到某个事件发生. 所有线程必须都到达栅栏位置时,才能继续执行. 使得一定数量的线程反复在栅栏位置汇集.需要等待集合的线程调用await()方法在栅栏处阻塞. 栅栏释放阻塞的线程后会重置以便下一次使用. 核心方法 await()方法 会调用dowa 阅读全文
摘要:
ConuntDownLatch详解 允许一个或多个线程等待,直到其他线程执行完后再执行. 原理 通过一个计数器来实现的. 计数器的初始化值为线程的数量. 每个线程在完成自己的任务后,计数器的值应当减一. 当计数器到达0时,表示所有线程完成任务,等待的线程则可以恢复执行任务. 闭锁(Latch) 延迟 阅读全文
摘要:
CopyOnWriteArrayList详解 简介 Copy-On-Write(COW): 开始时共享同一资源,但一个线程修改部分内容时,才会用修改后的内容覆盖旧的内容.是一种延时懒惰策略. 有两种COW机制的并发容器: CopyOnWriteArrayList. CopyOnWriteArrayS 阅读全文
摘要:
Cookie和Session机制详解 简介 Cookie:通过客户端记录消息确定用户身份. Session:通过服务器端记录消息确定用户身份. Cookie机制 流程: 用户访问网站时,会提供个人消息. 服务器向客户端回传消息(存放在响应头中),包含Set-Cookie,用来指示需要设置Cookie 阅读全文
摘要:
ConcurrentLinkedQueue详解 简介 实现线程安全的队列的两种方式: 使用阻塞算法:对入队和出队使用同一把锁(或不同的锁). 使用非阻塞算法:使用循环CAS方式实现. ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列. 采用先进先出规则对节点排序. 添加 阅读全文