随笔分类 -  Python

摘要:桥接模式:将系统抽象部分与它的实现部分分离,使它们可以独立地变化。由于目标系统存在多个角度的分类,每一种分类都会有多种变化,那么就可以把多角度分离出来,让它们独立变化,减少它们之间的耦合。#encoding=utf-8##by panda#桥接模式def printInfo(info): print unicode(info, 'utf-8').encode('gbk')#抽象类:手机品牌class HandsetBrand(): soft = None def SetHandsetSoft(self, soft): self.soft = soft def R 阅读全文
posted @ 2013-07-30 11:10 草根儿 阅读(399) 评论(0) 推荐(0)
摘要:命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;支持对请求排队、记录请求日志,以及可撤销的操作。优点:把请求一个操作的对象与知道怎么执行一个操作的对象分隔开。#encoding=utf-8##by panda#命令模式def printInfo(info): print unicode(info, 'utf-8').encode('gbk')import time#Commandclass Command(): receiver = None def __init__(self, receiver): self.receiver = 阅读全文
posted @ 2013-07-30 10:48 草根儿 阅读(129) 评论(0) 推荐(0)
摘要:线程编程—同步队列 我们经常会采用生产者/消费者关系的两个线程来处理一个共享缓冲区的数据。例如一 个生产者线程接受用户数据放入一个共享缓冲区里,等待一个消费者线程对数据取出处理。但是如果缓冲区的太小而生产者和消费者两个异步线程的速度不同时,容 易出现一个线程等待另一个情况。为了尽可能的缩短共享资源并以相同速度工作的各线程的等待时间,我们可以使用一个“队列”来提供额外的缓冲区。创建一个“队列”对象import Queue myqueue = Queue.Queue(maxsize = 10)Queue.Queue类即是一个队列的同步实现。队列长度可为无限或者有限。可通过Queue的构造函... 阅读全文
posted @ 2013-07-26 13:56 草根儿 阅读(144) 评论(0) 推荐(0)
摘要:1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如下图所示:1.2. 线程同步(锁) 多 线程的优势在于可以同时运行多个任务(至少感觉起来是这样)。但是当线程需要共享数据时,可能存在数据不同步的问题。考虑这样一种情况:一个列表里所有元 素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表并打印。那么,可能线程"set"开始改的时候,线 程"print"便来打印列表了,输出就成了一半0一半1,这就是数据的不同步。为了避免这种情况,引入了锁的概念。锁有两种状态—— 阅读全文
posted @ 2013-07-26 13:53 草根儿 阅读(129) 评论(0) 推荐(0)