并发计算

✍ dations ◷ 2025-11-23 22:00:16 #操作系统技术,并发计算

并发计算(英语:Concurrent computing,或译为并发处理、共时计算),是一种程序计算的形式,在系统中,至少有两个以上的计算在同时运作,计算结果可能同时发生。用来实现并发系统(Concurrent system)的编程语言与各种算法,统称为并发计算。

并发程序通常被设计为交互式的运算过程,因为它的运算过程是不确定的,在设计上的难度较高。设计并发程序最大的挑战,在于确保不同运算运行步骤间的交互或是通信,能以正确的顺序进行,同时,也要确保在不同运行步骤间共享的资源,能够正确被访问。在这个领域的先驱人物有艾兹赫尔·戴克斯特拉、东尼·霍尔与泊·派克·汉森等人。

并发计算,简单来说,就是将一个计算任务,分割成几个小的部分,让它们同时被计算,之后再汇整计算结果,以完成任务。它跟并行计算(Parallel computing)与分布式计算,有重叠之处,在概念上不同,但常会让人混淆。

并发计算是一种程序运算的特性,可以被视为是并行运算的进一步抽象,它包涵了时间片这种可以被用来实现虚拟并行运算(pseudoparallelism)的技术,因此在实际的物理运作中,计算过程可能是并行,或非并行的。

并行计算是指,当并发计算的程序,在机器平台上同时被运行的状况,因此,并行计算是一种机器运算的形式之一。分布式计算(Distributed computing)则是并行计算的一个特例,它采用计算机网络来进行同步。

实现并发程序有许多方式,依编程语言与操作系统的支持,可以用行程,或是线程来实现。它可以运行在单一处理器上,将不同的运行步骤分散在不同时间片中运行,以非并行方式循序运算;它也可以用并行计算来实现,将每个行程指定给处理器组中的某个处理器,以单片机多处理器平台,或是透过网络链接的分散平台来实做。

依照硬件与操作系统的支持,并发计算可以在同一个行程中完成,在同一个行程中以多线程来完成,以多个行程来达成,甚至可以分成数个程序来运行。可以用单处理器的循序计算来实现,也可以采并行计算或分布式计算方式实做。

但以并行方式来运作并发程序,并不必然会增进运行效率。因为运行结果可能会因为平台特性而改变,也增加它在设计上的难度。

并发计算中,不同计算单元之间,需要进行通信以保持同步。这些通信方式,在某些并发编程语言中,是被隐藏起来的(例如,利用future方式)。以外显方式来进行通信,可分成两种主要方式:

并发性编程语言使用编程语言结构特性进行并发。这些结构涉及到多线程,分布式计算,消息传递,资源共享(包括内存共享)。有时候我们也称这些语言是面向并发的编程语言(COPL)。如今很多常用的语言都拥有并发的特性,例如:Java和C#。这两种语言底层都是通过内存共享以及锁监听机制的并发模型来实现(尽管消息传递模型如今也是基于内存共享模型实现的)。在消息传递的并发模型世界中,Erlang最具代表性并被广泛使用至今。

很多并发性编程语言更多的是被用作研究(例如:Pict)而非生产用途。尽管如此,在最近20年,还是有很多语言例如 Erlang,Limbo和Occam被用于生产工业。类似这些并发性编程语言还包括:

相关

  • 头孢匹胺头孢匹胺也称为“头孢吡胺”“头孢吡四唑”或“甲吡唑头孢菌素”,是一种第三代头孢菌素。此抗生素对革兰氏阳性菌(包括葡萄球菌、链球菌、消化球菌等)具有很强的抗菌作用,对绿脓
  • 环孢素环孢素(英语:Cyclosporine、Cyclosporine A、Ciclosporin)也称为“环孢菌素”或“环孢霉素”,是一种被广泛用于预防器官移植排斥的免疫抑制剂。它借由抑制T细胞的活性跟生长而达
  • 牛津辞典《牛津英语词典》(英语:Oxford English Dictionary,OED)是由牛津大学出版社出版的20卷词典,截至2005年11月30日,该词典收录了301,100主词汇,字母数目达3亿5千万个。词典亦收录了157
  • 贝勒尼基四世贝勒尼基四世(神选的·女神)或称克丽奥佩脱拉·贝勒尼基 (希腊语:Κλεοπάτρα Βερενίκη ; 前77年-前55年),托勒密埃及女王,统治时间在前58年—前55年,她出生和逝世都
  • 清朝割让台湾予日本《马关条约》为大清帝国与大日本帝国于1895年4月17日(清光绪二十一年三月二十三日、日本明治二十八年)在日本山口县赤间关市(今山口县下关市)签署的条约,原名《马关新约》,又称《
  • 亚里斯多德物理学古希腊哲学家亚里士多德(公元前384年-前322年)开创许多 有关物理学本质的理论。这些理论涉及到他所描述的四大元素。他阐明这些元素间的密切联系,它们的动力,它们对地球的影响,以
  • 李钟玉李钟玉(리종옥,1916年1月10日-1999年9月23日),朝鲜政治家,朝鲜政务院前总理。李锺玉1940年毕业于哈尔滨工业大学,1944年回到朝鲜城津市,开始秘密组织共产党。1945年二战结束后,任朝鲜
  • 郑万钧郑万钧(1908年6月24日-1987年7月25日),江苏徐州人,中国林学和树木学家,中国科学院院士。出生于江苏徐州的一个商人家庭,早年曾在一家法国人开办的职业学校中读书。13岁时考入江苏省
  • 台语文史台语白话文,或称为台湾话文、台语文、台文,是一种符合并融合台湾话语法、本身词汇以及外来词汇的书面文系统,主要流行于台湾、福建、广东一带、新加坡以及马来西亚。传统的台语
  • 堪萨斯内战堪萨斯内战(英语:Bleeding Kansas)或译血溅堪萨斯、流血的堪萨斯,是1854年至1858年之间一系列围绕奴隶制的冲突。这场冲突发生在当时未建制的堪萨斯领地和临近的密苏里州,起因是