1、 1 南京邮电大学 毕业设计 (论文 )外文资料翻译 学 院 传媒与艺术学院 专 业 数字媒体技术 学生姓名 黄超 班级学号 B080705 B08070525 外文出处 ACM Transactions on Programming Languages and Systems, Vol. 26, No. 5, September 2004 附件: 1.外文资料翻译译文; 2.外文原文 2 指导教师评价: 1翻译内容与课题的结合度: 优 良 中 差 2翻译内容的准确、流畅: 优 良 中 差 3专业词汇翻译的准确性: 优 良 中 差 4翻译字符数是否符合规定要求: 符合 不符合 指导教师签名:
2、年 月 日 3 附件 1:外文资料翻译译文 现代并发抽象 C 尼克本顿,卢卡卡戴尔和塞德里克富尔 微软研究院 1.1 语言和并发 并发是现代代码中的一个重要实现形式:并发程序的编写设计,解释,调试,和调整都是有难度的。并发可以显著影响一个结构中的语言的含义(开始转让的原子),并能影响调用库的能力。尽管这样,最流行的编程语言对待并发语言不是作为一种语言功能的并发性,而往往是作为一个收集的,根据指定的外部库。考虑到这样的事实后,规范的并发库 比勒尔等。 1987 年 ;斯林等。 1996 年 Detlefs 等。 1998年古列维奇等。 2000 已给予相当的重视,通常通过这些规范就可以对他们的行
3、为应该在何处执行做出判断。然而,即使当并发库被正 确指定,但由于他们是库,而不是语言的特点这个事实,还是会有不良的后果。 在原则上,可以提供许多功能,无论是作为语言特性或作为库:典型的例子是,内存管理和异常。有“语言”等功能的优点是,编辑者可以对它们进行分析,因此可以产生更好的代码,并警告亲程序员的潜在和实际问题。特别是,编译器可以检查语法嵌入的变量,这将是很难从库中提取调用的集合。此外,程序员可以更可靠说明自己的意图,通过一个清晰的语法和其他工具比编辑者可以更容易地确定程序员的意图。特定领域的语言 Ramming 1997; Kamin 1997是一 个极端的语言学方法的例子:经常提出新的特
4、设语言并不是要取代通用的语言,而是为了方便特定于域的代码分析域相关的功能,作为原始的语言表达简单的事实结构。 我们相信,并发应该是一个语言功能的一部分和一种语言规范。在 70 年代开始在这个方向作了很多尝试,显示器 霍尔 1974年 的概念和奥卡姆语言 INMOS 有限公司 1984(基于通信顺序进程 霍尔 1985)。监控器的一般概念已经变得非常流行,特别是在其目前的面向对象的形式线程和对象绑定互斥,但它已提供作为一个语法的外壳模板,最可选锁定对象上的方法调用。 许多事情因 为监控器被引入并发而已经改变。通信已变得更加的异步,并行计算一定要通过规模较大的“精心策划”的。值得关注的是没有那么多
5、的有效的实施和使用锁在一个单一的处理器或者多重处理器,但没有不必要的异步事件的处理能力阻止长期客户,并没有死锁。换句话说,重心正在从共享内存并发转向消息或事件并发性。 这些新的要求应该得到可以处理异步通信和不束缚共享记忆的编程结构的方法。尽管出现大规模的模式设计如 America 1989; Agha et al.1993; Reppy 1992; Pierce and Turner 2000; Philippsen 1995,但只有监控器获得广泛接受的编程结构。 最近在富尔和 Gonthier 的 1996, 2002加入演算中显现了一个有趣的新的语言方法,进程演算非常适合在分布式的环境中直接执行。其他语言,如 JoCaml Conchon and Le Fessant 1999和 Funnel Odersky