
Linux
独孤_子喻
艰难困苦如同欢乐,终将成为人生最后的财富。
展开
-
I/O复用——聊天室程序
本文主要是为熟悉Linux下网络编程,实现一个简单的网络聊天室程序。 以Poll实现I/O复用技术来同时处理网络连接和用户输入,实现多个用户同时在线群聊。其中客户端实现两个功能:一:从标准输入读入用户数据,并将用户数据发送到服务器;二:接收服务器发送的数据,并在标准输出打印。 服务端功能为:接收客户端数据,并将客户数据发送到登录到该服务端的所有客户端(除数据发送的客户端外)。原创 2015-03-20 19:32:31 · 843 阅读 · 0 评论 -
半同步/半异步并发模式进程池实现
半同步/半异步并发模式:父进程监听到新的客户端连接请求后,以通信管道通知进程池中的某一子进程:“嘿,有新的客户连接来了,你去accept,然后处理下!”,从而避免在进程间传递文件描述符。这种模式中,一个客户连接上的所有任务始终有同一个进程来处理。具体细节,尽在代码中:原创 2015-07-02 22:20:35 · 1144 阅读 · 0 评论 -
半同步/半反应堆线程池实现
半同步/半异步反应堆线程池:主线程监听listen socket和接收到的所有连接socket,当有客户端请求任务时,将任务对象插入到工作任务对象中;等待在任务队列上的工作线程通过竞争来取得任务对象并处理之。其中的工作任务队列完成了主线程与工作线程之间的解耦,但是由于同一客户连接的任务请求可能由不同的线程来处理,所以这要求所有的客户请求是无状态的。具体细节,尽在代码中:原创 2015-07-02 22:58:05 · 1425 阅读 · 0 评论