Python共104篇 第6页
Python是一种解释型、动态类型的高级编程语言,由荷兰计算机科学家吉多·范罗苏姆(Guido van Rossum)在1990年代初设计,作为教学语言ABC的替代品。

Python Process创建进程(2种方法)详解

前面介绍了使用 os.fork() 函数实现多进程编程,该方法最明显的缺陷就是不适用于 Windows 系统。本节将介绍一种支持 Python 在 Windows 平台上创建新进程的方法。 Python multiprocessing 模块...
南宫世家的头像-华尔子博-奥夏网南宫世家4年前
02030

Python schedule任务调度及其使用方法

使用 Timer 定时器有一个弊端,即只能控制线程在指定时间内执行一次任务,如果想实现每隔一段时间就执行一次,需要借助循环结构。 实际上,Python 还提供有一个更强大的、可用来定义执行任务调...
子博兄的头像-华尔子博-奥夏网子博兄4年前
01770

Python Timer定时器:控制函数在特定时间执行

Thread 类有一个 Timer子类,该子类可用于控制指定函数在特定时间内执行一次。例如如下程序: from threading import Timer def hello(): print('hello, world') # 指定10秒后执行hello函数 t =...
王麻子的头像-华尔子博-奥夏网王麻子4年前
01450

Python threading Local()函数用法:返回线程局部变量

前面讲过,当多线程操作同一公有资源时,如果涉及到修改该资源的操作,为了避免数据不同步可能导致的错误,需要使用互斥锁机制。 其实,除非必须将多线程使用的资源设置为公共资源,Python thre...
子博网的头像-华尔子博-奥夏网子博网4年前
01910

超级详细的Python线程池及其原理和使用

系统启动一个新线程的成本是比较高的,因为它涉及与操作系统的交互。在这种情形下,使用线程池可以很好地提升性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。 ...
子博网的头像-华尔子博-奥夏网子博网4年前
01470

Python Event实现线程通信的方法

Event 是一种非常简单的线程通信机制,一个线程发出一个 Event,另一个线程可通过该 Event 被触发。 Event 本身管理一个内部旗标,程序可以通过 Event 的 set() 方法将该旗标设置为 True,也可...
天山雪莲的头像-华尔子博-奥夏网天山雪莲4年前
01890

Python condition实现线程通信代码详解

Python condition实现线程通信代码详解-华尔子博-奥夏网
当线程在系统中运行时,线程的调度具有一定的透明性,通常程序无法准确控制线程的轮换执行,如果有需要,Python 可通过线程通信来保证线程协调运行。假设系统中有两个线程,这两个线程分别代表...
子博兄的头像-华尔子博-奥夏网4年前
02070

Python什么是死锁,避免死锁的方法有哪些

Python什么是死锁,避免死锁的方法有哪些-华尔子博-奥夏网
当两个线程相互等待对方释放资源时,就会发生死锁。Python 解释器没有监测,也不会主动采取措施来处理死锁情况,所以在进行多线程编程时应该采取措施避免出现死锁。 一旦出现死锁,整个程序既不...
王麻子的头像-华尔子博-奥夏网王麻子4年前
02120

Python互斥锁(Lock):解决多线程安全问题

Python互斥锁(Lock):解决多线程安全问题-华尔子博-奥夏网
多线程的优势在于并发性,即可以同时运行多个任务。但是当线程需要使用共享数据时,也可能会由于数据不同步产生“错误情况”,这是由系统的线程调度具有一定的随机性造成的。 互斥锁的作用就是...
子博兄的头像-华尔子博-奥夏网子博兄4年前
01810

Python sleep()函数用法:线程睡眠代码示例

位于 time 模块中的 sleep(secs) 函数,可以实现令当前执行的线程暂停 secs 秒后再继续执行。所谓暂停,即令当前线程进入阻塞状态,当达到 sleep() 函数规定的时间后,再由阻塞状态转为就绪状态...
子博兄的头像-华尔子博-奥夏网4年前
02470