摘要: Flask上下文管理流程图 1.基于线程实现Threading.local,保证每个线程的隔离 自定义线程local类(基于线程get_ident) 面向对象的基础知识复习 Flask内部实现的本地线程(协程 线程 进程) 2.Flask上下文管理流程图 LocalStack类源码解析(_reque 阅读全文
posted @ 2018-06-03 20:25 小狗子 阅读(177) 评论(0) 推荐(0) 编辑
摘要: Falsk Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. “微”(micro) 并不表示你需要把整个 Web 应用塞进单个 Python 文件(虽然确实可以 ),也不意味着 F 阅读全文
posted @ 2018-06-03 14:39 小狗子 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 2.不可变类型元素 元祖,是一种不可 变得列表形式,一旦定义则不可以改变,一般用于数据库的连接,绑定 IP跟端口使用。 元祖特性: 1.不可变,定义元祖 的时候如果只有一个元素这样必须在元祖后面加 阅读全文
posted @ 2018-05-15 11:27 小狗子 阅读(545) 评论(0) 推荐(0) 编辑
摘要: IO 模型之 多路复用 IO 多路复用IO IO multiplexing 这个词可能有点陌生,但是如果我说 select/epoll ,大概就都能明白了。有些地方也称这种IO方式为 事件驱动IO (event driven IO) 。 我们都知道,select/epoll的好处就在于单个proce 阅读全文
posted @ 2018-05-14 16:18 小狗子 阅读(1252) 评论(0) 推荐(0) 编辑
摘要: 1. IO模型非阻塞 IO Linux下,可以通过设置socket使其变为 non blocking 。当对一个non blocking socket执行读操作时,流程是这个样子: "" 从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会block用户进 阅读全文
posted @ 2018-05-14 12:30 小狗子 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1. IO模型的介绍 首先我们先来熟悉下什么是 同步,异步、阻塞、非阻塞 的知识: 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同 阅读全文
posted @ 2018-05-14 10:10 小狗子 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 1.并发编程之协程 协程: 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况 阅读全文
posted @ 2018-05-11 18:20 小狗子 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1. 线程 queue queue is especially useful in threaded programming when information must be exchanged safely between multiple threads. queue 三种方法 : class 阅读全文
posted @ 2018-05-11 16:28 小狗子 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1.死锁的现象 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程,如下就是死锁 2.递归锁 解决方法,递归锁,在Python中为了支持在同一线 阅读全文
posted @ 2018-05-11 15:17 小狗子 阅读(228) 评论(0) 推荐(0) 编辑
摘要: Cpython 中的GIL锁介绍 1. 前戏 In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecod 阅读全文
posted @ 2018-05-11 14:04 小狗子 阅读(362) 评论(0) 推荐(0) 编辑