赤青1

那些我们丢失的美好!是我们永远的遗憾与记忆

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2019年7月13日

摘要: 1.Exchanger 方法摘要: 功能:用于线程间数据的交换 应用场景:1)遗传算法,目前还不是特别理解 2)校对工作,假设A,B线程做同一件任务,可以通过数据校验判断两线程是否正确的工作 2.Semaphore 功能:控制同时访问特定资源的线程数量 应用场景:流量控制,比如数据库的连接 Sema 阅读全文
posted @ 2019-07-13 15:21 赤青1 阅读(141) 评论(0) 推荐(0)

摘要: 同步容器类包括Vector和HashTable,这两个都是JDK早期的容器。后来在JDK1.2也引入一个功能与之类似的类,这些同步的封装容器类是由Collections.synchronizedXXX等工厂方法创建的。这些类实现线程安全的方式是:将他们的状态封装起来,并对每个公有方法都进行同步,使得 阅读全文
posted @ 2019-07-13 15:20 赤青1 阅读(100) 评论(0) 推荐(0)

摘要: 1、CAS CAS是一种无锁的非阻塞算法,全称为:Compare-and-swap(比较并交换),大致思路是:先比较目标对象现值是否和旧值一致,如果一致,则更新对象为新值;如果不一致,则表明对象已经被其他线程修改,直接返回。 CAS(Compare and swap)比较和替换是设计并发算法时用到的 阅读全文
posted @ 2019-07-13 15:17 赤青1 阅读(107) 评论(0) 推荐(0)

摘要: CountDownLatch、Semaphore、CyclicBarrier、ReentrantLock、Condition、FutureTask、futureJoin、BlockingQueue 阅读全文
posted @ 2019-07-13 15:16 赤青1 阅读(108) 评论(0) 推荐(0)

摘要: FIFO、LFU、LRU FIFO:先进先出算法 FIFO(First in First out),先进先出。在FIFO Cache设计中,核心原则就是:如果一个数据最先进入缓存中,则应该最早淘汰掉。 1、利用一个双向链表保存数据, 2、当来了新的数据之后便添加到链表末尾, 3、如果Cache存满数 阅读全文
posted @ 2019-07-13 14:25 赤青1 阅读(532) 评论(0) 推荐(0)