`
annan211
  • 浏览: 446349 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Amino 框架简介

 
阅读更多

   对数据加锁是实现多线程的一种策略,但是加锁无疑会增加系统性能开销,如果处理不当会带来巨大损失。

   及时使用一些无所算法,但仍然需要在应用层处理线程间的冲突问题,这无疑增加了应用程序的开发难度和算法的复杂度。为了解决这个问题,选择一些现成的无所并行框架就成了解决这个问题的好办法。
   Amino 框架就是其中之一,他是apache下的一个分支项目,提供了可用于线程安全的,基于无锁算法的一些数据结构,同时还内置了一些多线程调度模式,使用Amino框架进行软件开发拥有以下优势,1 对死锁问题免疫,2 确保整体进度,3 高并发 无锁竞争带来的性能开销,4 可以轻易使用一些成熟的无所结构,无需自行研发。
  
   Amino 提供了一组LIst 的实现,其中最重要的就是 LockFreeList 和 LockFreeVector  他们都实现了 Java.util.List接口。  LockFreeList 和 LockFreeVector 就好像 List 和 Vector 一样,只不过前者是 无锁 但 线程安全的,其性能 也比后者 高出了 几个数量级。完全可以自行测试,这里省去代码。


 List list = new LockFreeList();// list
 List vector = new LockFreeVector();//vector



  Amino 框架还提供了无所的Set实现 LockFreeSet ,LockFreeSet 实现了java.util.Set接口,是一个使用原子操作实现的无所线程安全的Set 。
其性能也比加锁的set 高出很多。

  Amino 还提供了  Amino 树 和 Amino图,可自行查找资料。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics