当前位置:  软件>java软件

并发线程组件 Amino

    来源:    发布时间:2015-01-18

    本文导语:  Amino CBB (Concurrent Building Blocks) 类库将提供优化后的并发线程组件,适用于JDK6.0 及其以后的版本。 Amino Java 类库将涉及下面四个方面的内容: 1) 数据结构 该组件将提供一套免锁的集合类。因为这些数据结构采用免锁的运算...

Amino CBB (Concurrent Building Blocks) 类库将提供优化后的并发线程组件,适用于JDK6.0 及其以后的版本。

Amino Java 类库将涉及下面四个方面的内容:

1) 数据结构 
该组件将提供一套免锁的集合类。因为这些数据结构采用免锁的运算法则来生成,所
以,它们将拥有基本的免锁组件的特性,如可以避免不同类型的死锁,不同类型的线程初始
化顺序等。 
2) 并行模式 
Amino 将为应用程序提供一个或几个大家熟知的并行计算模式。采用这些并行模式可
以使开发者起到事半功倍的效果,这些模式包括 Master-Worker、Map-reduce、Divide and 
conquer, Pipeline 等,线程调度程序可以与这些模式类协同工作,提供了开发效率。 
3) 并行计算中的一般功能 
Amino 将为应用程序提供并行计算中常用的方法,例如: 
a. String、Sequence  和Array  的处理方面。如Sort、Search、Merge、Rank、Compare、
Reverse、 Shuffle、Rotate 和Median 等 
4)原子和STM(软件事务内存模型) 

--------------------------------
在Amino 类库中,主要算法将使用锁无关的(Lock-Free)的数据结构。 

原语Compare-and-swap(CAS)  是实现锁无关数据结构的通用原语。CAS  可以原子
地比较一个内存位置的内容及一个期望值,如果两者相同,则用一个指定值取替这个内存位
罝里的内容,并且提供结果指示这个操作是否成功。

CAS 操作过程是:当处理器要更新一个内存位置的值的时候,它首
先将目前内存位置的值与它所知道的修改前的值进行对比(要知道在多处理的时候,你要更
新的内存位置上的值有可能被其他处理更新过,而你全然不知),如果内存位置目前的值与
期望的原值相同(说明没有被其他处理更新过),那么就将新的值写入内存位置;而如果不
同(说明有其他处理在我不知情的情况下改过这的值咯),那么就什么也不做,不写入新的
值(现在最新的做法是定义内存值的版本号,根据版本号的改变来判断内存值是否被修改,
一般情况下,比较内存值的做法已经满足要求了)。CAS 的价值所在就在于它是在硬件级别
实现的,速度那是相当的快。


    
 
 

您可能感兴趣的文章:

  • fedora10下支持线程的并发设置吗?
  • socket实现多文件并发传输,求助多线程实现问题?
  • 基于LINUX 线程的并发通讯服务器
  • linux并发服务器中epoll+多线程分别怎么理解?
  • JAVA中有没有类似C中的select、poll机制的类包来实现线程并发控制
  • JAVA多线程并发的问题
  • 趋势的一道面试题:网络编程中设计并发服务器,使用多进程 与 多线程 ,请问有什么区别?
  • 多线程并发服务器设计
  • 求助。。。怎样保证并发的多线程不要同时操作同一个文件?
  • java多线程并发executorservice(任务调度)类
  • java线程并发semaphore类示例
  • java线程并发countdownlatch类使用示例
  • java线程并发cyclicbarrier类使用示例
  • 求助多线程并发的问题——rechard stevens网络编程第二卷例题
  • java线程并发blockingqueue类使用示例
  • 论坛 iis7站长之家
  • 菜鸟求助多线程并发服务器
  • JAVA多线程和并发基础面试问答(翻译)
  • JAVA多线程与并发学习总结分析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux下c/c++ boost安装及并发编程库mpi介绍
  • 在unix下,后台trf001同时并发了很多进程,请用一条命令,杀掉所有trf001并发的进程
  • [内核并发]并发数据的处理
  • PHP并发框架 PCF
  • FIFO和Socket通信的并发效率问题
  • epoll并发问题
  • C++ 并发编程指南
  • openssl并发问题
  • 如何测试tcp协议中服务端的最大并发数?
  • 并发编程语言 JR
  • 并发编程框架 Disruptor
  • 记忆并发哈希图工具 fcmm
  • C++并发编程库 Theron
  • 千万级别并发用户模拟软件 tcpburn
  • 通用并发 Java 对象池 Vibur Object Pool
  • 用RMI进行远程对象调用的时候,可不可以实现多个调用远程对象的并发操作
  • 并发开发包 Concurrency Kit
  • Apache并发限制模块 limitipconn
  • 在linux下,如何进行“互斥”和“并发”的控制?
  • 多进程的并发系统中,肯定不会因竞争( )而产生死锁。
  • 懂nginx,帮下忙,使用nginx实现大并发


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3