`
annan211
  • 浏览: 461009 次
  • 性别: 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图,可自行查找资料。


分享到:
评论

相关推荐

    Java并发编程之——Amino框架

    Amino框架是Java并发编程领域的一个工具,它旨在简化并发编程,提高程序的性能和可维护性。这篇博客文章可能详细探讨了Amino框架的设计理念、核心功能以及如何在实际项目中应用。 Amino框架可能提供了以下一些关键...

    Amino 框架

    该组件将提供一套免锁的集合类(LockFreeVector、LockFreeList、LockFreeSet等)、树结构、图结构。因为这些数据结构采用免锁的运算法则来生成,所以,它们将拥有基本的免锁组件的特性,如可以避免不同类型的死锁,...

    无锁并行框架Amino -- Concurrent Building Blocks

    无锁并行框架Amino,也被称为Concurrent Building Blocks,是一种高效、低延迟的并行编程工具,旨在帮助开发者在多核处理器环境下构建高度并发的应用程序。无锁算法是其核心,这种算法避免了传统的互斥锁带来的性能...

    Amino 框架所有源码

    该组件将提供一套免锁的集合类(LockFreeVector、LockFreeList、LockFreeSet等)、树结构、图结构。因为这些数据结构采用免锁的运算法则来生成,所以,它们将拥有基本的免锁组件的特性,如可以避免不同类型的死锁,...

    inputevents:用于 NodeJS、浏览器和 Amino 的键盘和鼠标输入事件适配器

    标题中的“inputevents”是一个库或框架,专为Node.js、浏览器环境以及Amino平台设计,用于处理键盘和鼠标输入事件。在JavaScript编程中,事件处理是用户与应用程序交互的关键部分,尤其是对于创建动态和响应式的...

    aminogfx-canvas:Amino 的画布实现

    4. **动画框架**:aminogfx-canvas 可能提供了一套完整的动画系统,允许开发者轻松创建平滑的帧动画,或者基于时间的动画效果。 5. **性能优化**:通过缓存、批处理渲染等技术提高画布的渲染效率,减少不必要的重绘...

    amino-acid-backend:氨基酸查看器应用程序的 Java 后端

    在这个案例中,我们关注的是"amino-acid-backend",这是一个专门为氨基酸查看器应用程序提供服务的Java后端组件。后端开发是应用程序架构中的核心部分,负责处理数据存储、业务逻辑以及与前端的通信。 首先,让我们...

    深入java虚拟机光盘源码-aminolang:用于NodeJS和浏览器的OpenGL场景图gfxapi

    不是应用程序框架。 它只是一个图形和输入 api,可在其上快速构建您的应用程序。 Amino 可用于数据可视化、游戏、照片处理、粒子效果和(在有限程度上)形式驱动的应用程序。 Amino 带有一个简单的小部件集(按钮、...

    DART: DNA, amino acid and RNA tests-开源

    随机语法则是描述序列变化的一种数学框架,它可以更精确地捕捉序列的复杂变异模式。在DART中,随机语法可能被用来描述序列中的插入、删除和替换等事件,从而提供更准确的序列注释和比较。 使用DART,用户可以免费...

    dspp-keras:Keras,Tensor Flow和Edward框架的蛋白质有序和无序数据,具有针对连续学习应用的自动更新周期

    介绍dspp-keras是dspp-keras集成,它提供7200+个不相关蛋白质的氨基酸序列,具有形成二级结构或保持无序的倾向。 我们强烈建议您阅读本文档的其余部分,在FAQ部分中滚动,并从example/目录中训练测试模型。...

Global site tag (gtag.js) - Google Analytics