通信顺序进程
维基百科,自由的 encyclopedia
在计算机科学中,通信顺序进程(英语:Communicating sequential processes,缩写为CSP),又译为交谈循序程序、交换消息的循序程序,是一种形式语言,用来描述并发性系统间进行交互的模式[1]。它是叫做进程代数或进程演算的关于并发的数学理论家族的一员,基于了通过通道的消息传递。CSP高度影响了Occam的设计[1][2],也影响了编程语言如Limbo[3]、RaftLib(英语:RaftLib)、Go[4]、 Crystal(英语:Crystal (programming language))和Clojure的core.async[5]等。
CSP最早出现于东尼·霍尔在1978年发表的论文[6],但在之后又经过一系列的改善[7]。CSP已经实际的应用在工业之中,作为一种工具去规定和验证(英语:Formal specification)各种不同系统的并发状况,比如T9000 Transputer[8],还有安全电子商务系统[9]。CSP的理论自身仍是活跃研究的主题,包括了增加它的实际可应用性的范围(比如增大可以跟踪分析的系统的规模)[10]。