![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
服务器+多线程
qunbinyue
这个作者很懒,什么都没留下…
展开
-
类似于QQ游戏百万人同时在线的服务器架构实现(转载)
QQ游戏于前几日终于突破了百万人同时在线的关口,向着更为远大的目标迈进,这让其它众多传统的棋牌休闲游戏平台黯然失色,相比之下,联众似乎已经根本不是QQ的对手,因为QQ除了这100万的游戏在线人数外,它还拥有3亿多的注册量(当然很多是重复注册的)以及QQ聊天软件900万的同时在线率,我们已经可以预见未来由QQ构建起来的强大棋牌休闲游戏帝国。 那么,在技术上,QQ游戏到底是如何实现百万人同时在线并转载 2007-01-14 21:51:00 · 434 阅读 · 0 评论 -
多线程服务器通讯模型(转载)
通用的 socket 服务器处理端,也就是进程所在的主线程每次接收一个连接后,处理完毕后,在接收一个连接,周而复始,完成和客户端的通讯过程。缺点是显而意见的,特别是处理客户端的长连接的时候,服务器和客户端的通讯一直没有结束,不能再处理已经在排队的连接请求。一般会导致客户端长时间的等待。这就是单进程的服务器通讯模式。对应与单线程模型,我们发现一个连接(accept)效率太低,我们要是建立多个Ac转载 2007-01-14 21:54:00 · 527 阅读 · 0 评论 -
完成端口示例(转载)
一个完成端口其实就是一个通知队列,由操作系统把已经完成的重叠I/O请求的通知 放入其中。当某项I/O操作一旦完成,某个可以对该操作结果进行处理的工作者线程 就会收到一则通知。而套接字在被创建后,可以在任何时候与某个完成端口进行关 联。 步骤: 1、创建一个空的完成端口; 2、得到本地机器的CPU个数; 3、开启CPU*2个工作线程(又名线程池),全部都在等待完成端口的完成包; 4、创建TCP的监转载 2007-01-15 09:43:00 · 642 阅读 · 0 评论 -
完成端口与高性能服务器程序开发(转载)
完成端口与高性能服务器程序开发Email:kruglinski_at_gmail_dot_comBlog:kruglinski.blogchina.com早在两年前我就已经能很熟练的运用完成端口这种技术了,只是一直没有机会将它用在什么项目中,这段时间见到这种技术被过分炒作,过分的神秘化,就想写一篇解释它如何工作的文章.想告诉大家它没有传说中的那么高深难懂!有什么错误的地方还请高人指正.转载转载 2007-01-15 09:56:00 · 575 阅读 · 0 评论 -
异步IO、APC、IO完成端口、线程池与高性能服务器(转载)
原作者姓名 Fang(fangguicheng@21cn.com)异步IO、APC、IO完成端口、线程池与高性能服务器之一 异步IO背景:轮询 PIO DMA 中断 早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 随着CPU性能的迅速提高,这种效率低下的工作方式浪费转载 2007-01-16 08:58:00 · 483 阅读 · 0 评论 -
Linux下通用线程池的创建与使用(转载)
本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。 为什么需要线程池目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等转载 2007-01-16 09:27:00 · 992 阅读 · 1 评论 -
pthread_cond_wait会在等待的同时解锁的(原创)
看了好几天的多线程编程,和锁的机制,才明白了。原来我写的程序,总会出现好几个线程同时对一个mutex加锁的情况,就是打印出好几个“lock ok”。我还纳闷呢,不可能的啊。后来才发现,那些线程都是采用下面的结构:pthread_mutex_lock(&mutex);printf("lock ok!");while(false) pthread_cond_wait(&cond);pthread_原创 2007-01-18 14:09:00 · 978 阅读 · 0 评论