| 摘要: |
| 互联网已成为现代社会的重要信息基础设施,然而网络环境的并发性使得传统程序设计方法在开发高质量的网络程序时遇到了许多困难,严重影响了开发效率.并发问题对网络程序开发复杂度的影响可以类比多核处理器带来的“软件并发危机”,然而其中的并发问题却远远没有得到应有的重视.网络并发问题目前并不存在普适的应对方法,甚至在不同方法之间存在明显的争论.简要介绍了各种基本的并发模型及其常见的实现方法,并在此基础上着重分析了现有方法的内在复杂性,对比各种方法的优势与劣势,最后展望可能的研究和发展方向. |
| 关键词: 网络 并发 程序设计复杂性 事件驱动 stack-ripping 多线程 期货 |
| DOI:10.3724/SP.J.1001.2011.03899 |
| 分类号: |
| 基金项目:国家自然科学基金(60703072); 国家重点基础研究发展计划(973)(2005CB321801); 湖南省自然科学基金(08JJ3125); 全国高等学校优秀博士学位论文作者专向基金(200953) |
|
| Concurrency-Related Complexities in Network Programming |
|
LI Hui-Ba1, TIAN Tian2, PENG Yu-Xing1, LI Dong-Sheng1, LU Xi-Cheng1
|
|
1.National Laboratory for Parallel and Distributed Computing, Computer School, National University of Defense Technology, Changsha 410073, China;2.Institute of Software, Computer School, National University of Defense Technology, Changsha 410073, China
|
| Abstract: |
| The Internet has become a vital information infrastructure for modern society. However, the concurrent nature of network introduces a wide-range of difficulties in traditional programming methodology in developing high-quality network programs that significantly reduce productivity. The influence of concurrency on the complexity of software development is comparable to the “concurrency crisis” of software brought by multi-core processors, but it receives much less attention here than what it deserves. There is no universal approach to cope with this issue, and there are even disagreements between different approaches. In this paper, the basic concurrency models and their implementations are introduced, and then the paper surveys the inherent complexities of these approaches, comparing their advantages and disadvantages. Finally, this paper offers an opinion on the possibilities for future research on this topic. |
| Key words: network concurrency programming complexity event-driven stack-ripping multi-threaded future |