码迷,mamicode.com
首页 > 其他好文 > 详细

服务器设计

时间:2017-11-18 23:36:20      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:自己的   soc   io复用   reactor   bsp   客户   应用   完成   tls   

阻塞与非阻塞指的是 socket api,如,accept,read,write,conncet等,通过fcntl或者ioctlsockt可以设置socket非阻塞。

同步与异步指的是 io复用通知应用程序的是 io就绪事件还是io完成事件,也就是读写数据是有应用程序来读写还是内核来读写。也叫reactor,preactor

服务器设计:半同步半异步

主线程监听listen socket,有客户端连接的时候,通过管道向工作线程,通知accept socket。

然后,每个工作线程都有自己的epoll_wait循环,每个工作线程可以处理多个socket的io。当然,也可以使用信号,来模拟preactor模式

这样,比起主线程epoll_wait所有线程,然后把有事件发生的socket给线程

避免了主线程和工作线程 锁的使用,每个线程同时只能处理一个socket这两个问题

 

epoll可以说是 reactor模式,完成端口可以说是preactor模式

服务器设计

标签:自己的   soc   io复用   reactor   bsp   客户   应用   完成   tls   

原文地址:http://www.cnblogs.com/caopf/p/7858213.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!