- 博客(4)
- 收藏
- 关注
原创 yield 关键字详解
当你看到一个函数里有yield声明时,用一个简单的小伎俩来理解发生了什么:在函数体的开始插入一行; result = [] 替换yield expr 为 result.append(expr) 在函数末尾添加一行:return result 现在就没有yield声明了,阅读并弄明白代码的含义吧!这个小方法让你能够很好地理解函数整体做了什么,但是实际上yield的运行机制是和基于list...
2018-07-28 15:21:20 2085
原创 IO -- select方式-epoll方式
一个典型的select的工作流程://定义 文件描述符集合,一个是read, 一个是writefd_set fd_in, fd_out;struct timeval tv; // 情况集合信息FD_ZERO( &fd_in );FD_ZERO( &fd_out ); // 将sock1加入到读监控集合中FD_SET( sock1, &fd_in ); // 将sock2加入...
2018-07-07 18:11:29 246
原创 Linux下的IO模式
阻塞模式(block):程序在执行某一项IO的系统调用时,处于阻塞状态,等待IO操作返回后,才能继续向下执行。例如: length = recvfrom(data, max_length);当没有网络数据到来时,程序就会阻塞在这里,直到有数据到来为止。 非阻塞模式(non-block):程序在执行某一项IO的系统调用时,该系统调用立即返回。length = recvfrom(data, max_l...
2018-07-07 11:11:46 436
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人