并发性

并发性(英语:Concurrency)是在计算机科学中,同一个系统拥有多个计算进程,这些进程有同时执行与的潜在交互特性,因此系统会有相当多个执行路径且结果可能具有不确定性。并发计算可能会在具备多核心的同一个芯片中交错运行,以优先分时线程在同一个处理器中执行,或在不同的处理器执行。

一些数理模型已经为解决一般的并发计算问题而发展,包括Petri网进程PRAM模型演员模型

议题

 
哲学家就餐问题是一个关于并发性和分享资源的典型问题。

因为在并发系统下运算可以在执行时彼此交互,系统可进行的执行路径会有相当多个,产生的结果可能具有不确定性。并发使用的分享资源可能变成一个不确定的资源并导致诸如死锁资源匮乏的问题。[1]


理论

模型

逻辑

实现

参考文献

  1. ^ Cleaveland, Rance; Scott Smolka. Strategic Directions in Concurrency Research. ACM Computing Surveys. December 1996, 28 (4): 607. doi:10.1145/242223.242252.  [失效链接]

补充阅读

  • Lynch, Nancy A. Distributed Algorithms. Morgan Kauffman. 1996. ISBN 1558603484. 
  • Tanenbaum, Andrew S.; Van Steen, Maarten. Distributed Systems: Principles and Paradigms. Prentice Hall. 2002. ISBN 0-13-088893-1. 
  • Kurki-Suonio, Reino. A Practical Theory of Reactive Systems. Springer. 2005. ISBN 3-540-23342-3. 
  • Garg, Vijay K. Elements of Distributed Computing. Wiley-IEEE Press. 2002. ISBN 0-471-03600-5. 
  • Magee, Jeff;, Kramer, Jeff. Concurrency: State Models and Java Programming. Wiley. 2006. ISBN 0-470-09355-2. 

其他链接