1.C++程序中各种数据存储的位置 int a = 0; //全局数据区 char *p1; //全局数据区,分配该区时内存全部清零 main() { int b; 栈 char s[ ] = "abc"; // 栈 char *p2; // 栈 char *p3 = "123456"; //123 ...
分类:
其他好文 时间:
2018-03-15 19:24:42
阅读次数:
180
通常,我们写服务器处理模型的程序时,有以下几种模型 : (1)每收到一个请求,创建一个新的进程,来处理该请求; (2)每收到一个请求,创建一个新的线程,来处理该请求; (3)每收到一个请求,放入一个事件列表,让主进程通过非阻塞I/O方式来处理请求 上面的几种方式,各有千秋, 第(1)中方法,由于创建 ...
分类:
其他好文 时间:
2017-12-02 00:41:47
阅读次数:
241
#!/usr/bin/envpython
#-*-coding:utf-8-*-
#author:ChanghuaGong
importselectors
importsocket
sel=selectors.DefaultSelector()
‘‘‘selectors根据系统自动select或epoll‘‘‘
defaccept(sock,mask):
conn,addr=sock.accept()#Shouldbeready
print(‘accepted‘,conn,‘from‘,a..
分类:
编程语言 时间:
2017-05-25 10:15:22
阅读次数:
218
多路IO复用-非阻塞同步IO模型。见http://www.cnblogs.com/syyong/p/6231326.html 具体结构:http://blog.jobbole.com/100079/ 网络编程模型:http://www.cnblogs.com/Anker/p/3254269.html ...
分类:
其他好文 时间:
2017-04-06 10:05:50
阅读次数:
246
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。 并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统
分类:
其他好文 时间:
2016-02-24 13:58:31
阅读次数:
125
epoll是linux在2.6内核新增的系统调用,为了更高效地实现多路IO复用。本文简要介绍了其使用方法,并用epoll实现了一个Echo服务器。...
分类:
其他好文 时间:
2015-07-21 22:18:34
阅读次数:
178
select,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。
...
分类:
系统相关 时间:
2015-07-04 14:00:27
阅读次数:
222