多线程

标签介绍: python对多线程编程的支持,主要由threading模块承载。由于GIL的存在,任意时刻只有一个线程在python解释器中执行,您可以理解为python的解释器(或者说虚拟机)是单核的。多线程编程需要的技巧相对较难,需认真学习总结。

文章列表

在python中多线程访问sqlite3数据库

2020年10月22日

Python标准库中有sqlite3模块,可见对此数据库的认可。不过,此模块在使用时也有限制,同一个数据库连接,不能在不同线程中共享。 阅读全文->

用ThreadPoolExecutor创建线程池

2020年9月24日

python标准库中提供的ThreadPoolExecutor模块,可以使我们轻松驾驭线程池技术。 阅读全文->

线程异常,不会导致主程序退出

2020年10月6日

一时心血来潮做了个测试,验证了一个需要明确的python程序运行逻辑,即如果在线程中出现异常,主程序(主线程)不会退出。退出的只是那个异常线程。 阅读全文->

多线程中的Condition对象

2020年6月23日

python多线程模块threading中,有一个Condition对象。这个对象可以用来控制更加复杂的线程间的同步。 阅读全文->

with mutex的用法

2020年6月23日

多线程中常常用到的Lock和RLock,也都可以使用with语法来编写代码。既可以减少代码行数,也确保了release。 阅读全文->

不要阻塞tkinter的mainloop

2020年6月22日

最近被GUI多线程代码的死锁问题搞的有点头大,本文总结一下自己的所思所得,并不代表完全正确,因为毕竟没有去阅读tk的源代码。 阅读全文->

多线程threading.Event对象

2020年6月20日

python多线程事件对象,threading.Event。具体什么事件,是程序员定义的,不同的事件使用不同的event对象来控制。 阅读全文->

线程和主GUI同时访问log窗口造成的死锁问题

2020年6月20日

主GUI上有按钮,事件背后有操作log窗口的代码,线程里的代码也有大量写log的代码。 阅读全文->

python的原子操作

2020年6月5日

python编译器会将代码编译为bytecode,对于python而言,每一行bytecode都是原子操作。 阅读全文->

线程不安全一例

2020年6月5日

凡是共享的资源,都要自己加锁控制,不要以为python的每一行脚本都是原子操作,虽然python自定的确定义了一些原子操作,但是不要去依赖,如果哪一天python解释器修改了内部机制,你的代码就会崩溃。 阅读全文->

python多线程的信号量

2020年5月23日

python threading模块还提供古老的信号量(semaphore)功能。本文介绍信号量的基本概念以及应用场景和用法。 阅读全文->

python线程的ID和Name

2020年5月18日

本文记录设置获取python线程的name,以及获取ID的方法。 阅读全文->

python多线程的可重入锁

2020年5月14日

可重复锁(Reentrant Lock),有人也之为递归锁,不过递归锁这个名字有点狭义。python多线程可重入锁就是threading.RLock对象。 阅读全文->

threading.Timer的用法

2020年2月3日

本文介绍的threading.Timer定时器的使用,以及两种设置定时器循环出发时间的技巧和区别。 阅读全文->

queue模块

2020年8月11日

python标准库中有一个queue模块,此模块提供了创建和使用队列的底层封装,而且是线程安全的!queue模块提供FIFO队列,LIFO队列,以及优先级队列。 阅读全文->

tkinter程序的所有窗口,都在一个线程里

2020年1月6日

理清了一个细节,我们用tkinter做GUI程序,有root,有Toplevel,可能界面上有好多不同的窗口。这些不同的窗口,都属于一个程序,而且,这些不同的窗口,都在一个线程中! 阅读全文->

python多线程的互斥锁

2020年5月13日

多线程环境下的互斥很常见,python的提供的互斥锁使用起来很简单方便。多线程互斥的难点不是如何使用锁,而是对问题模型的理解和抽象。 阅读全文->

在python子线程中调用sys.exit的效果?

2020年1月16日

在python子线程中调用sys.exit函数,是什么效果?如果没有捕获SystemExit异常,子线程退出,主线程还在继续该干嘛干嘛;如果在线程中有代码捕获了SystemExit异常,子线程都可以不退出。 阅读全文->


©Copyright 麦新杰 Since 2019 Python笔记

go to top