摘要: 装饰器的作用—— 在不改变函数原代码、调用方式的条件下,对函数增添额外的功能。 装饰器的组成: 高阶函数 函数嵌套 高阶函数: 什么是函数? 函数是对代码段的封装,函数是可执行的,执行函数就是 运行函数中封装的代码段。 通过内置方法,可以看到函数是可调用的! >>> def foo(): ... p 阅读全文
posted @ 2017-07-17 22:44 alben-xue 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 生产者把产品制造出来后放入队列, 消费者从队列中取产品, 消费的速度必须小于生产的速度,否则就倒闭了。。。 代码: 阅读全文
posted @ 2017-07-13 00:16 alben-xue 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 由于GIL的存在,python的多线程并不是真正的多线程。如果想充分的时候多核CPU的资源,在Cpython中大部分情况下需要使用到多进程(multiprocess)。 Python通过“multiprocessing”来实现多进程并发的功能。 multiprocessing支持的功能: 在使用mu 阅读全文
posted @ 2017-07-11 21:06 alben-xue 阅读(423) 评论(0) 推荐(0) 编辑
摘要: Python是解释型语言,根据不同的底层协议有很多种版本,最常见的是基于C的Cpython,默认情况下我们所说的Python就是Cpython。 Python的GIL(global interpreter lock): 用于解决多线程之间的数据完整性和状态同步而存在,使得不管线程分布在多少个CPU上 阅读全文
posted @ 2017-07-10 23:04 alben-xue 阅读(940) 评论(0) 推荐(0) 编辑
摘要: python线程的事件用于主线程控制其他线程的执行,事件主要提供了三个方法wait、clear、set 事件处理的机制:全局定义了一个“Flag”,如果“Flag”值为 False,那么当程序执行 event.wait 方法时就会阻塞,如果“Flag”值为True,那么event.wait 方法时便 阅读全文
posted @ 2017-07-10 14:47 alben-xue 阅读(448) 评论(0) 推荐(0) 编辑
摘要: .join(),用于等待线程一个线程结束后运行后续代码 例如: Running at number 1.(延迟2秒)Starting main threading__Main thread__ 守护线程: 在m运行结束后,其他所有子线程直接结束, 可以对m设置join,让子线程有充足的时间运行完毕 阅读全文
posted @ 2017-07-08 01:06 alben-xue 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 进程(process) 进程是程序在内存中的一个实例(进程是程序的一次执行活动,是动态的) 多道编程的实现就是把多个程序的实例同时在内存中打开,给外部一种并发的假象 进程的缺陷: 1,进程在同一时刻只能做一件事情,如果想同时干两件事,进程是无能为力的。 2,进程在执行任务时,如果阻塞(例如等待I/O 阅读全文
posted @ 2017-07-07 01:20 alben-xue 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 使用内select模块构造单线程异步服务器 关键: poll(),生成器 服务器模块: 客户端模块: 异步服务器: 这个异步服务器的核心是它的缓冲区: 在等待某个请求完成时,会将受到的数据存储在bytes_received字典中;在等待操作系统安排发送数据时,会将要发送的字节存储在bytes_to_ 阅读全文
posted @ 2017-07-05 00:07 alben-xue 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 如果服务器希望能同时与多个客户端进行会话,那么最简单的方法就是利用操作系统内置的支持,是多个控制线程单独运行同一段代码。 可以创建多个共享相同内存空间的线程,也可以创建完全独立运行的进程。 优点: 简洁:直接使用单线程服务器的代码,创建多个进程运行它的多个副本。 缺点: 服务器能够同时通信的客户端数 阅读全文
posted @ 2017-07-01 00:04 alben-xue 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 这段代码的好像是最后4个函数,这3个函数之间的层级调用过程。 阅读全文
posted @ 2017-06-30 01:13 alben-xue 阅读(269) 评论(0) 推荐(0) 编辑