多线程

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

文章列表

用ThreadPoolExecutor创建线程池

2020年9月24日

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

多线程中的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年12月4日

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多线程的信号量

2021年2月24日

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的提供的互斥锁使用起来很简单方便。多线程互斥的难点不是如何使用锁,而是对问题模型的理解和抽象。 阅读全文->

tkinter是否线程安全(threadsafe)?

2019年12月28日

python标准的GUI库,tkinter,到底是不是线程安全的(threadsafe)?本文给出答案。可以这么说:现在新安装的python,自带的tkinter都是线程安全的,以前的不一定是! 阅读全文->

tkinter界面因线程join卡死的案例

2019年12月28日

在编写GUI程序的时候,对于比较耗时的操作,常规的思路都是扔给线程去计算,这样可以保持GUI界面不会出现卡死。本文介绍因为线程join函数导致界面卡死的一个案例。 阅读全文->

python线程的daemon参数

2020年4月5日

daemon线程具有这样的特性,即当创建它的程序终止后,daemon线程会自动终止运行。也有人说daemon线程时守护线程,守护这个词用得还不错,当守护对象已经关闭,这些线程也就没有存在的必要,会被自动杀掉。 阅读全文->

麦新杰的Python笔记

Ctrl+D 收藏本页


©Copyright 麦新杰 Since 2019 Python笔记

go to top