摘要: 在我的上篇博文Python中的多线程编程,线程安全与锁(一)中,我们熟悉了多线程编程与线程安全相关重要概念, Threading.Lock实现互斥锁的简单示例,两种死锁(迭代死锁和互相等待死锁)情况及处理。今天我们将聚焦于Python的Threading??樽芙岷拖叱掏轿侍?。 1. Threadi阅读全文
posted @ 2018-12-20 20:32 青山牧云人 阅读(195) 评论(0) 编辑
摘要: 在Python中,我们需要debug时,有三种方式: 加log语句。最简单的方式是添加print()语句来输出我们想要获知的状态或者变量,好处是简单容易操作,坏处是debug完了之后,还需要将print语句注释掉;进阶的方法是使用logging??樾磍og语句,这样做的好处是:能把log语句分级,并阅读全文
posted @ 2018-12-14 20:21 青山牧云人 阅读(16) 评论(0) 编辑
摘要: 1. 多线程编程与线程安全相关重要概念 在我的上篇博文 聊聊Python中的GIL 中,我们熟悉了几个特别重要的概念:GIL,线程,进程, 线程安全,原子操作。 以下是简单回顾,详细介绍请直接看聊聊Python中的GIL GIL: Global Interpreter Lock,全局解释器锁。为了解阅读全文
posted @ 2018-11-28 15:12 青山牧云人 阅读(296) 评论(0) 编辑
摘要: 对于广大写Python的人来说,GIL(Global Interpreter Lock, 全局解释器锁)肯定不陌生,但未必清楚GIL的历史和全貌是怎样的,今天我们就来梳理一下GIL。 1. 什么是GIL GIL的全称是 Global Interpreter Lock,全局解释器锁。之所以叫这个名字,阅读全文
posted @ 2018-11-19 18:50 青山牧云人 阅读(196) 评论(2) 编辑
摘要: 前言 为什么需要单元测试? 如果没有单元测试,我们会遇到这种情况:已有的健康运行的代码在经过改动之后,我们无法得知改动之后是否引入了Bug。如果有单元测试的话,只要单元测试全部通过,我们就可以保证没有Bug被引入。因此,单元测试是保证软件工程质量的一个很重要的方面。 Python中的单元测试 Pyt阅读全文
posted @ 2018-11-14 16:24 青山牧云人 阅读(243) 评论(0) 编辑
摘要: 1. 策略模式解决的是什么问题 策略模式解决的应用场景是这样的: 在业务场景中,需要用到多个算法,并且每个算法的参数是需要调整的。那么当不同的行为堆砌到同一个类中时,我们很难避免使用条件语句来选择合适的行为。我们需要解决的是把算法封装起来,达到算法的变化不会影响到使用算法的客户的效果。实际上就是把算阅读全文
posted @ 2018-10-25 19:15 青山牧云人 阅读(16) 评论(0) 编辑
摘要: 2. 工厂模式 工厂模式是创建型设计模式的一种。核心的思想是,通过传递给类或函数某种产品的信息来创建产品并返回。当我们想得到产品a对象,只需把产品a的名字传递给工厂函数就能得到产品a对象。而核心思想的背后是为了遵循著名的“开闭原则”:对扩展开放,对修改封闭。当添加新功能时,对已经有的函数代码不需要修阅读全文
posted @ 2018-10-12 17:30 青山牧云人 阅读(26) 评论(0) 编辑
摘要: 1. 单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读阅读全文
posted @ 2018-09-20 14:00 青山牧云人 阅读(242) 评论(0) 编辑
摘要: 返回函数,顾名思义,就是高阶函数可以把函数作为return值返回。与闭包的关系是:闭包需要以返回函数的形式实现。 一. 返回函数 比如我们有一个求和函数: 当我们不需要立刻求和,而是后面根据需要再计算结果时,我们可以返回求和的函数,而不是直接返回计算结果。这就是返回函数。 很显然,这样能让我们根据需阅读全文
posted @ 2018-09-11 17:00 青山牧云人 阅读(280) 评论(0) 编辑
摘要: 一. 高阶函数定义 简而言之,Python的高阶函数就是指一个函数作为参数传递给另外一个函数的用法。 举一个最简单的高阶函数来说明: 可能会有同学问,直接return abs(x) + abs(y)不就完了么,何必这么麻烦。 我的理解是把函数作为参数传递,能够使得编码涉及上更具有灵活性,比如我们可以阅读全文
posted @ 2018-09-10 16:56 青山牧云人 阅读(21) 评论(0) 广东十一选5一定牛