摘要: 一、threading 模块介绍 multiprocess 模块完全模仿了 threading 模块的接口,二者在使用层面上,有很大的相似性,因而不再详细介绍。 二、开启线程的两种方式 1,方式一: from threading import Thread import time def say_h 阅读全文
posted @ 2020-07-27 16:44 zoling7 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 一、什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程。 线程顾名思义,就是一条流水线工作的过程(流水线的工作需要电源,电源就相当于cpu),而一条流水线必须属于一个车间,一个车间的工作过程是一个进程,车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一条流水线 阅读全文
posted @ 2020-07-27 13:59 zoling7 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 一、队列介绍 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing 模块支持两种形式:队列和管道,这两种方式都是使用消息传递的。 1,创建队列的类(底层就是以管道和锁定的方式实现): # Queue([maxsize]):创建共享的进程队列,Queue是多进程安全的队列, 阅读全文
posted @ 2020-07-26 19:10 zoling7 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 一、守护进程 1,主进程创建子进程,然后将该进程设置成守护自己的进程,守护进程就好比皇帝身边的老太监,皇帝已死老太监就跟着殉葬了。 关于守护进程需要强调两点: 其一:守护进程会在主进程代码执行结束后就终止。 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemon 阅读全文
posted @ 2020-07-26 17:32 zoling7 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 一、multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu\_count\(\)查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子 阅读全文
posted @ 2020-07-26 10:11 zoling7 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 一、什么是进程 1,进程: 正在进行的一个过程或者说一个任务,而负责执行任务的则是 cpu。 2,举例(单核 + 多道,实现多个进程的并发执行): 1)子系在一段时间内有很多任务要做:学 Python,听音乐,写笔记,PUBG上分。 2)但是子系同一时刻只能做一个任务(cpu 同一时间只能干一个活) 阅读全文
posted @ 2020-07-25 10:09 zoling7 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 一、引言 顾名思义,进程即正在执行的一个过程,进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须实现了解操作系统。 二、为什么要有操作系统 阅读全文
posted @ 2020-07-25 09:29 zoling7 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一、引言 学完了面向对象的基础知识后,可还是不知该如何下手,凡是都得有个章法。 此刻有经验的人可能会想到瀑布模型、螺旋模型、迭代开发、敏捷、RUP等一堆软件工程相关的软件开发流程,但对于大部分人来说这些流程仅仅只是项目管理上的流程。 本节我们就来了解下,作为一名程序员基于面向对象开发程序的开发流程: 阅读全文
posted @ 2020-07-20 11:28 zoling7 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 一、容易犯的错误 1,面向对象的程序设计看起来高大上,所以在编程时就应该保证通篇 class,这样写出的程序一定是好的程序(面向对象只适合那些可扩展性要求比较高的场景) 2,很多人喜欢说面向对象三大特性(这是从哪传出来的,封装,多态,继承?漏洞太多太多,好吧暂且称为三大特性),那么我在基于面向对象编 阅读全文
posted @ 2020-07-20 11:25 zoling7 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 一、引言 1,元类属于python面向对象编程的深层魔法,接下来,我们就一起来深度了解python元类的来龙去脉。 2,补充:exec 的用法: # 储备知识 exec # 参数1:字符串形式的命令 # 参数2:全局作用域(字典形式),如果不指定,默认就使用 globals() # 参数3:局部作用 阅读全文
posted @ 2020-07-20 11:12 zoling7 阅读(130) 评论(0) 推荐(0) 编辑