Java并发编程之——框架及测试
使用Amino框架
Amino是Apache旗下的开源软件。读者可以访问http://amino-cbbs.sourceforge.net/得到其最新版本。面向并发编程,它有以下特点:
1) 可操作性和良好的伸缩性
2) 跨平台性
3) 无论在Java、C++或其他流行语言中,编程风格一致
4) 适用于多核的各种操作系统
5) 可以进行并发编程正确性的测试
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等
b. 处理树和图的方法:如组件连接,树生成,最短路径,图的着色等
4)原子和STM(软件事务内存模型)
MTRAT
多线程运行时分析工具(Multi-ThreadRun-timeAnalysisTool,MTRAT)是由IBM开发的一个即高效又准确的动态分析工具,它可以查找出多线程程序中的潜在的数据竞争和死锁。该工具通过修改程序的字节码,来收集为了检查死锁和数据竞争的程序的运行时信息。被修改过的程序在执行的过程中,会产生一些事件,这些事件会被MTRAT精巧设计的数据竞争检测和死锁检测算法分析。MTRAT把不同的技术集成到了一个单一的开发工具中,避免了用户使用的复杂性,使得MTRAT方便使用。MTRAT主要由以下部分组成,
简单的命令行界面和Eclipse插件。输出MTRAT检查到的并行错误。
动态的Java字节码修改引擎。可以在Java类文件被Java虚拟机加载的时候,修改Java类。
程序运行时信息收集器。收集程序的动态信息,比如内存访问,线程同步,创建和结束。
高效的运行时分析引擎。收集到的运行时信息会被在线分析,如果发现潜在的并行错误,将会通过界面报告给用户。
Mtrat软件下载网址是http://www.alphaworks.ibm.com/tech/mtrat。

浙公网安备 33010602011771号