摘要: 线程queue介绍 Queue的种类: FIFO: Queue.Queue(maxsize=0) FIFO即First in First Out,先进先出。Queue提供了一个基本的FIFO容器,使用方法很简单,maxsize是个整数,指明了队列中能存放的数据个数的上限。一旦达到上限,插入会导致阻塞 阅读全文
posted @ 2018-06-12 12:33 嵌动初心(aaron) 阅读(539) 评论(0) 推荐(1) 编辑
摘要: threading模块中的对象 其中除了Thread对象以外,还有许多跟同步相关的对象 threading模块支持守护线程的机制 Thread对象 直接调用法 继承类方式 注意:当要启动这个线程时,只会去调用这个类的run方法,因此,在定义子类时,一定要去重写父类的run方法,不然在线程启动后,该线 阅读全文
posted @ 2018-06-11 18:11 嵌动初心(aaron) 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 文章作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/python/gil-in-python/ ,对文章做了适当的修改,加入了一些自己的理解。 CPU-bound(计算密集型) 和I/O bound(I/O密集型) 计算密集型任务(CPU-boun 阅读全文
posted @ 2018-06-11 12:47 嵌动初心(aaron) 阅读(5145) 评论(0) 推荐(3) 编辑
摘要: 简介 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 原型模式是用场景:需要大量的基于某个基础原型进行微量修改而得到新原型时使用 代码实例 在python中,完成对对象的拷贝工作,是利用copy模块和deepcopy模块。 输出 注意: 阅读全文
posted @ 2018-06-04 23:07 嵌动初心(aaron) 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 工厂方法模式简介 定义 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 简单工厂 VS 工厂方法 简单工厂:在工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。但是,当在工厂类中需要添加新的实例 阅读全文
posted @ 2018-05-23 11:14 嵌动初心(aaron) 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 装饰模式简介 所谓的装饰模式,就是为已有的功能动态地添加更多功能的一种方式。跟策略模式类似,装饰模式中新添加的功能同样具有“可插拔性”。不同的是,在装饰模式中,可以同时添加不止一个新功能。 在装饰模式中,新加入的东西仅仅是为了满足一些只在某种特定情况下才会执行的特殊行为的需要。它把每个想要装饰的功能 阅读全文
posted @ 2018-05-17 18:59 嵌动初心(aaron) 阅读(240) 评论(0) 推荐(1) 编辑
摘要: 策略模式(Strategy Pattern) 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。 原则 针对接口(即超类型)编程,而不是针对实现编程; 把会变化的部分取出并“封装”起来,好让其它部分不会受到影响; 多用组合,少用 阅读全文
posted @ 2018-05-14 22:36 嵌动初心(aaron) 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 简单工厂模式简介 工厂模式有一种非常形象的描述,建立对象的类就如一个工厂,而需要被建立的对象就是一个个产品;在工厂中加工产品,使用产品的人,不用在乎产品是如何生产出来的。从软件开发的角度来说,这样就有效的降低了模块之间的耦合。 简单工厂的作用是实例化对象,而不需要客户了解这个对象属于哪个具体的子类。 阅读全文
posted @ 2018-05-11 23:07 嵌动初心(aaron) 阅读(606) 评论(0) 推荐(0) 编辑
摘要: SocketServer类介绍 The socketserver module simplifies the task of writing network servers. socketserver一共有这么几种类型 This uses the Internet TCP protocol, whi 阅读全文
posted @ 2018-05-05 23:14 嵌动初心(aaron) 阅读(247) 评论(0) 推荐(0) 编辑
摘要: socket函数介绍 socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) Create a new socket using the given address family, socket type and p 阅读全文
posted @ 2018-05-05 22:49 嵌动初心(aaron) 阅读(514) 评论(0) 推荐(0) 编辑