多线程服务器的常用编程模型

多线程服务器的常用编程模型

ID:34958359

大小:373.90 KB

页数:16页

时间:2019-03-15

多线程服务器的常用编程模型_第1页
多线程服务器的常用编程模型_第2页
多线程服务器的常用编程模型_第3页
多线程服务器的常用编程模型_第4页
多线程服务器的常用编程模型_第5页
资源描述:

《多线程服务器的常用编程模型》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、多线程服务器的常用编程模型陈硕(giantchen_AT_gmail)Blog.csdn.net/Solstice2009Feb12本文主要讲我个人在多线程开发方面的一些粗浅经验。总结了一两种常用的线程模型,归纳了进程间通讯与线程同步的最佳实践,以期用简单规范的方式开发多线程程序。文中的“多线程服务器”是指运行在Linux操作系统上的独占式网络应用程序。硬件平台为Intelx64系列的多核CPU,单路或双路SMP服务器(每台机器一共拥有四个核或八个核,十几GB内存),机器之间用百兆或千兆以太网连接。这大概是目

2、前民用PC服务器的主流配置。本文不涉及Windows系统,不涉及人机交互界面(无论命令行或图形);不考虑文件读写(往磁盘写log除外),不考虑数据库操作,不考虑Web应用;不考虑低端的单核主机或嵌入式系统,不考虑手持式设备,不考虑专门的网络设备,不考虑高端的>=32核Unix主机;只考虑TCP,不考虑UDP,也不考虑除了局域网络之外的其他数据收发方式(例如串并口、USB口、数据采集板卡、实时控制等)。有了以上这么多限制,那么我将要谈的“网络应用程序”的基本功能可以归纳为“收到数据,算一算,再发出去”。在这个简

3、化了的模型里,似乎看不出用多线程的必要,单线程应该也能做得很好。“为什么需要写多线程程序”这个问题容易引发口水战,我放到另一篇博客里讨论。请允许我先假定“多线程编程”这一背景。“服务器”这个词有时指程序,有时指进程,有时指硬件(无论虚拟的或真实的),请注意按上下文区分。另外,本文不考虑虚拟化的场景,当我说“两个进程不在同一台机器上”,指的是逻辑上不在同一个操作系统里运行,虽然物理上可能位于同一机器虚拟出来的两台“虚拟机”上。本文假定读者已经有多线程编程的知识与经验,这不是一篇入门教程。本文承蒙MiloYip先

4、生审读,在此深表谢意。当然,文中任何错误责任均在我。目录1进程与线程.............................................................................................................................22典型的单线程服务器编程模型...................................................................................

5、..........33典型的多线程服务器的线程模型.........................................................................................3Oneloopperthread.............................................................................................................4线程池............

6、.....................................................................................................................4归纳.....................................................................................................................................54进程

7、间通信与线程间通信.....................................................................................................55进程间通信.............................................................................................................................66线程间同步........

8、.....................................................................................................................7互斥器(mutex).........................................................................

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。