摘要:在多线程编程中,有两个必须要解决的问题,一个是线程通信,另一个是线程同步问题。 执行结果: -557629 478789 444414 -12991 原因分析: 关键在于赋值上面,当某个时间段,t1说a = 5000,t2说a=3000,那么到低是5000还是3000了, 谁先执行听谁的,如果a=3 阅读全文
posted @ 2019-08-02 18:21 明王不动心 阅读 (43) 评论 (0) 编辑
摘要:比如你爬取一个页面,爬取主页面是一个线程,爬取详情页又是一个线程,当你把主页面的内容拿到之后,你是否就需要将其发送给处理详情页的那个线程了。这就涉及到进程通讯问题了。线程间通讯一般有两种方式,共享变量和Queue 1.共享变量 共享变量利用的是线程之间共享运行环境这一机制。但是使用共享变量,可能不能 阅读全文
posted @ 2019-08-02 17:03 明王不动心 阅读 (24) 评论 (0) 编辑
摘要:操作系统能够调度和切换的最小单元实际上是线程。对于IO操作来说,多线程和多进程性能差别不大。有两种方法可以进行多线程编程。 1.使用多线程编程的两种方法 (1)直接实例化一个Thread对象 执行结果: task1开始执行 task2开始执行 执行时间:0.0009980201721191406 t 阅读全文
posted @ 2019-08-02 17:00 明王不动心 阅读 (33) 评论 (0) 编辑
摘要:GIL:global interpreter lock(cpython)在python中,一个线程对应于c中的一个线程。gil使得同一个时刻只有一个线程在CPU上执行字节码(python在执行的时候会将py文件编译成字节码)。同时也预示着无法将多个线程映射到多个CPU上运行,无法体现多CPU的优势。 阅读全文
posted @ 2019-08-02 16:32 明王不动心 阅读 (30) 评论 (0) 编辑
摘要:一、进程和线程概论 1.什么是进程? 程序是存储在磁盘中的可执行的数据。进程可以看作是程序的一次执行,每个进程都有自己的内存空间和数据栈。进程间只能通讯,而不能直接共享信息。 2.什么是线程? 一个进程中可以有多个线程,一个进程中线程共享运行环境,也就是有相同的内存空间、数据栈等。比如你启动了一个p 阅读全文
posted @ 2019-08-02 16:16 明王不动心 阅读 (19) 评论 (0) 编辑
摘要:一、property 先看下面例子:依赖于birthday设置User对象的属性 但是这样好吗?如果是更加复杂的计算就必须以函数的方式返回。 虽然可以实现功能,但是明明是属性值却还要调用方法?有没有解决方案了?通过property关键字就可以实现。 @property可以把一个函数当作一个属性来供用 阅读全文
posted @ 2019-08-02 15:18 明王不动心 阅读 (17) 评论 (0) 编辑
摘要:1.python中变量是什么? 在数学概念中,变量表示没有固定值且可以改变的数值。在计算机系统中,变量表示一段或者多段用来存储数据的内存。变量名都是指代的一个指针。在GO语言里面,变量总是有固定的类型,变量类型决定了数据在内存中的长度存储格式。在python中,变量进行初始化的时候可以不指定类型,那 阅读全文
posted @ 2019-08-02 14:26 明王不动心 阅读 (27) 评论 (0) 编辑
摘要:一、鸭子类型和多态 多态:根据代码类型的具体实现来采取不同的行为。在go和python中,能够直接体现多态的是接口,最后都执行相同的函数却返回不同的结果。在python是没有接口类这种类型的,只是为了更好的规范代码而人为定义的,但是这并不影响多态特性的体现。但是go和python中实现多态的过程却完 阅读全文
posted @ 2019-08-02 14:19 明王不动心 阅读 (26) 评论 (0) 编辑
摘要:1.什么是魔法函数 在python中,有的名称以双下划线开头同时以双下划线结尾这种形式,我们只知道它是python自己定义的,同时我们也不应该去定义类似的函数。我们将“__init__”这种形式的函数成为魔法函数。"__init__"是构造器,用来初始化对象。魔法函数不需要去显式的调用,同时魔法函数 阅读全文
posted @ 2019-08-01 12:54 明王不动心 阅读 (68) 评论 (0) 编辑
摘要:python中一切皆对象是这个语言灵活的根本。函数和类也是对象,属于python的一等公民。包括代码包和模块也都是对象。python的面向对象更加彻底。可以赋值给一个变量可以添加到集合对象中可以作为参数传递给函数可以当作函数的返回值在python中什么不是对象?字符串是类str的对象数字是类int的 阅读全文
posted @ 2019-08-01 12:31 明王不动心 阅读 (64) 评论 (0) 编辑