并发计算

✍ dations ◷ 2025-06-29 06:18:11 #操作系统技术,并发计算

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

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

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

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

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

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

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

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

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

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

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

相关

  • 心脏外科学心脏外科,指外科医师在心脏、主动脉或血管上进行手术。通常包括心脏移植(换心)、先天性心脏病外科、瓣膜病外科、冠心病外科、大血管外科。以治疗缺血性心脏病(可利用冠状动脉
  • 蛋白质复合物蛋白质复合体(英语:protein complex)是有两个以上功能相关的多肽链通过二硫键或其它蛋白质相互作用所形成的复合物。蛋白质复合体的种类繁多,许多种的性质与功能都还不为人所知,
  • 酒渣鼻酒糟鼻(Rosacea,又称玫瑰痤疮)是一种以脸部红斑 和丘疹(有时)为特点的慢性皮肤病。酒糟鼻在所有年龄层都可能发病并且分为四种类型,其中三种患及皮肤,而第四种患及眼睛。疾病若得不
  • C-甘露糖基化糖基化(英语:Glycosylation)是在酶的控制下, 蛋白质或脂质附加上糖类的过程。此过程为四种共转译(co-translational)与后转译修饰的的一种形式,发生于高基氏体。蛋白质经过糖基化
  • 木藜芦素梫木毒素(英文:Grayanotoxin;andromedotoxin、acetylandromedol、rhodotoxin、asebotoxin),又称木藜芦毒素,是一种由杜鹃花属及部分杜鹃花科(如马醉木、绊足花)植物产生的毒素,在其蜂
  • 游离辐射电离辐射(英语:ionizing radiation)是指波长短、频率高、能量高的射线(粒子或波的双重形式)。辐射可分为电离辐射和非电离辐射,电离辐射可以从原子或分子里面电离过程(Ionization)中
  • span class=nowrapXeClsub2/sub/span二氯化氙,化学式为XeCl2,它是唯一一种能用化学方法制得的氙氯化物。对氙和氯的混合物微波放电,并在20K下用冷凝阱隔离,可以制得二氯化氙。红外光谱证实,二氯化氙是一种直线型分子
  • 社交孤立社交孤立(英语:Social isolation)或作社交隔离、社会孤立、社会隔离,指的是人与社会之间完全或是接近完全缺乏联系的状态。社交孤立与孤独感不同,孤独只是人的一种短暂性的缺乏连
  • 列星顿和康科德战役列克星敦和康科德战役(英语:Battles of Lexington and Concord)是英国陆军与北美民兵之间的一场武装冲突,发生于1775年4月19日。虽然美国参议院在1908年通过决议,将邓莫尔伯爵的
  • A-10四个 LAU-61/LAU-68火箭荚舱(每个含19x/7x Hydra 70毫米火箭弹或APKWS II导引火箭) 四个 LAU-5003火箭荚舱(每个含19x CRV7 70毫米火箭弹) 四个 LAU-10火箭荚舱(每个含4x 127毫米