摘要: 一、线程池 系统频繁的启动新线程,线程执行完被销毁,如果线程不能被重复使用,即每个线程都需要经过启动、销毁和运行3个过程,这必然会使得系统的性能急剧下降,线程池的意义就在于减少线程创建及消毁过程中损失的系统资源 线程池在程序运行时创建大量空闲线程,程序只需将要执行的任务交给线程池,线程池就会启动一个 阅读全文
posted @ 2021-02-17 17:13 junffzhou 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 一、线程条件Condition(条件变量) 依赖锁对象(Lock,RLock),锁对象可以通过参数传入获得,或者使用自动创建的默认锁对象当多个条件变量需要共享同一个锁时,建议传入锁对象 除了带有获取到锁的锁定池,Condition还包含一个未获取到锁的等待池,等待池中的线程处于等待阻塞状态,直到锁定 阅读全文
posted @ 2021-02-17 17:11 junffzhou 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 一、线程锁 保证多线程数据的一致性,对锁内的资源进行锁定,同一时间只能有一个线程来修改共享的数据多个线程同时加了同一个锁对象时,先获取到锁的线程会继续运行,未获取到锁的线程会处于堵塞状态,直到前面的线程释放锁,重新获取到锁才会往下运行 类型 threading.Lock 基本锁对象,每次只能获取一次 阅读全文
posted @ 2021-02-17 17:09 junffzhou 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 一、 线程的生命周期 当线程被创建并启动以后,它既不是一启动就进入执行状态,也不是一直处于执行状态,线程状态会多次在运行、就绪之间转换 线程的五种状态 新建(New) 当程序创建了一个Thread对象或Thread子类的对象后,该线程就处于新建状态,程序也不会立即执行该线程 就绪(Ready) 当调 阅读全文
posted @ 2021-02-17 17:08 junffzhou 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 一、线程的创建、启动 有关线程的一些注意 程序运行时默认创建一个主线程,主线程的线程执行体就是程序中的主程序,即没有放在任何函数中的代码块 主线程默认名为 MainThread,用户启动的多个线程名字依次是 Thread-1, Thread-2,... 当线程被创建后,必须通过调用线程的 start 阅读全文
posted @ 2021-02-17 17:05 junffzhou 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 一、线程与进程,并发与并行 一) 并发与并行 1 并发 同一时刻只能有执行一个任务,但多个任务间快速交替轮换执行,使得宏观上具有多个任务同时执行的效果 不同代码块交替执行 2 并行 同一时刻执行多个任务 不同代码块同时执行 二) 线程与进程 1 进程 进程是系统进行资源分配和调度的基本单位,是操作系 阅读全文
posted @ 2021-02-17 17:03 junffzhou 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 使用pymysql模块,主要用于Python3.x 连接 Mysql 数据库 请使用pip3 install pymysql安装模块 一、数据库连接对象 pymysql.connect(host='', user='', password='', database='', port=0, db='' 阅读全文
posted @ 2021-02-14 17:39 junffzhou 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 一、pathlib模块 该模块提供提供表示文件系统路径的类 该模块包括的类如图: pathlib.PurePath(pathfile) 返回表示纯路径的类 只对pathfile执行操作,不实际访问pathfile表示的文件,也不管pathfile表示的文件是否存在 如果未提供pathfile,默认当 阅读全文
posted @ 2021-02-14 13:58 junffzhou 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 一、模块 1 模块化 python可能需要借助于其他库更便捷的完成任务,同时一个源文件中不可能编写整个程序的源代码,这些都需要使用模块化的方式来组织项目的源代码 2 模块 包括 python标准库中的模块 用户自定义的实现特定功能的以.py为后缀名的文件 导入语法 import 模块名1 [as 别 阅读全文
posted @ 2021-02-13 20:30 junffzhou 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 一、迭代器 一) 迭代 重复多次,可以用 for-in 循环字符串,元组,列表,字典,range都是可迭代的,但不是迭代器,可用来创建迭代器 二) 迭代器 包含 __iter__() 方法和 __next__() 方法可以通过 next() 内置函数调用 __next__() 方法 __iter__ 阅读全文
posted @ 2021-02-12 14:53 junffzhou 阅读(374) 评论(0) 推荐(0) 编辑