风-fmgao

导航

上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 45 下一页

2018年6月21日

初识sql语句

摘要: 有了mysql这个数据库软件,就可以将程序员从对数据的管理中解脱出来,专注于对程序逻辑的编写 mysql服务端软件即mysqld帮我们管理好文件夹以及文件,前提是作为使用者的我们,需要下载mysql的客户端,或者其他模块来连接到mysqld,然后使用mysql软件规定的语法格式去提交自己命令,实现对 阅读全文

posted @ 2018-06-21 13:40 风-fmgao 阅读(129) 评论(0) 推荐(0) 编辑

2018年6月20日

IO模型比较分析

摘要: 异步IO(Asynchronous I/O) Linux下的asynchronous IO其实用得不多,从内核2.6版本才开始引入。先看一下它的流程: 用户进程发起read操作之后,立刻就可以开始去做其它的事。而另一方面,从kernel的角度,当它受到一个asynchronous read之后,首先 阅读全文

posted @ 2018-06-20 16:50 风-fmgao 阅读(188) 评论(0) 推荐(0) 编辑

select,poll,epoll,selectors

摘要: 一 了解select,poll,epoll 二 selectors模块 这三种IO多路复用模型在不同的平台有着不同的支持,而epoll在windows下就不支持,好在我们有selectors模块,帮我们默认选择当前平台下最合适的 基于selectors模块实现并发的FTP 参考:链接: https: 阅读全文

posted @ 2018-06-20 16:48 风-fmgao 阅读(266) 评论(0) 推荐(0) 编辑

多路复用IO

摘要: 多路复用IO(IO multiplexing) IO multiplexing这个词可能有点陌生,但是如果我说select/epoll,大概就都能明白了。有些地方也称这种IO方式为事件驱动IO (event driven IO)。我们都知道,select/epoll的好处就在于单个process就可 阅读全文

posted @ 2018-06-20 16:38 风-fmgao 阅读(135) 评论(0) 推荐(0) 编辑

非阻塞IO

摘要: 非阻塞IO(non-blocking IO) Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blocking socket执行读操作时,流程是这个样子: 从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会bloc 阅读全文

posted @ 2018-06-20 15:57 风-fmgao 阅读(130) 评论(0) 推荐(0) 编辑

yield-from示例

摘要: #!/usr/bin/python3# -*- coding: utf-8 -*-# @Time : 2018/6/20 9:13# @File : yield_from11.pyfrom collections import namedtupleResult = namedtuple('Resul 阅读全文

posted @ 2018-06-20 10:32 风-fmgao 阅读(124) 评论(0) 推荐(0) 编辑

2018年6月19日

阻塞IO(blocking IO)

摘要: 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时 阅读全文

posted @ 2018-06-19 22:58 风-fmgao 阅读(487) 评论(0) 推荐(0) 编辑

IO模型介绍

摘要: IO模型介绍 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞 https://www.cnblogs.com/fmgao-technology/p/9706485.html 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) 阅读全文

posted @ 2018-06-19 22:57 风-fmgao 阅读(118) 评论(0) 推荐(0) 编辑

gevent实现套接字

摘要: server #!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/17from gevent import monkey,spawn;monkey.patch_all()from socket import *# 负责通信def commun 阅读全文

posted @ 2018-06-19 21:53 风-fmgao 阅读(113) 评论(0) 推荐(0) 编辑

gevent异步,io自动切换

摘要: #!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/19# # from gevent import monkey # 这俩行必须放在首行,下面就可以使用time(非gevent)的io# # monkey.patch_all() # 相当于 阅读全文

posted @ 2018-06-19 21:27 风-fmgao 阅读(193) 评论(0) 推荐(0) 编辑

上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 45 下一页