请问下用C/C++开发大型高性能服务器需要学习哪些方面的知识

kakarot23 2010-08-20 11:57:53
请问下用C/C++开发大型高性能服务器需要学习哪些方面的知识

我知道WINDOWS一般用IOCP模型
LINUX用EPOLL

除此之外

还需要学习哪方面的知识

有没有专门的书或资料的

谢谢
...全文
724 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2010-08-27
  • 打赏
  • 举报
回复
对了,还有定时器技术。
如何用互斥、同步及超时事件等原语构建出一个精度为毫秒级的定时器。
服务器很多地方都需要定时器,这个不可缺少。

比如: session 超时如何判断,有人用一个线程,sleep过后锁住session池,然后遍历所有session,找出过时的。这样性能很差,需要锁住session池很长时间,此时,服务器相当于冰冻了。
如果用定时器实现,就很优雅了。

「已注销」 2010-08-27
  • 打赏
  • 举报
回复
我认为,从现在开始研究,几年后你就可以写出比较高性能的服务器了。

研究范围很多,几大类都要研究:

1 网络通讯
2 多线程,并发原语(别以为是单纯的系统调用,要想学精不容易,多线程并发是本人最自豪的一项技能,年初在外企给号称很NB的美国博士的代码找了N个并发隐患)
3 常用计算机算法: 堆,LRU等。

fdsbyq1 2010-08-23
  • 打赏
  • 举报
回复
也想知道
kakarot23 2010-08-23
  • 打赏
  • 举报
回复
谢谢几位的回复

不过能不能说得详细点

macrojj 2010-08-23
  • 打赏
  • 举报
回复
高性能程序设计

首先是程序设计

然后再看高性能

高性能有 高的吞吐性能 计算性能 响应性能 这些
ZangXT 2010-08-21
  • 打赏
  • 举报
回复
建议看一下unix网络编程,有兴趣可以找一些开源的服务器,阅读代码
kakarot23 2010-08-21
  • 打赏
  • 举报
回复
谢谢楼上的

是不是还需要内存管理
Failfail 2010-08-21
  • 打赏
  • 举报
回复
多线程,进程间通讯,内存池
Csuxiaowu 2010-08-20
  • 打赏
  • 举报
回复
多线程

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧