教程归类:第13章、多线程与并行

Python中的线程模块之线程同步和队列(第4节)


Python线程模块中的线程同步是指协调和管理多个线程的执行顺序和访问共享资源的方式,以确保数据的完整性和一致性。

1、线程同步

在Python多线程环境中,当多个线程共同修改或者操作同一个对象或者数据时,如果线程需要共享数据的话,可能存在数据不同步的问题。例如:

动手练一练:

import time
import threading

# 从threading.Thread类派生一个子类MyThread
class MyThread(threading.Thread):
    def __init__(self, number):
        # 调用父类的构造函数
      ...
......

阅读全文

Python中的进程模块(第5节)


在前面的教程中,我们已经介绍了多线程的使用方式,本节教程中我们将详细介绍进程模块。我们可以通俗地理解进程为一个运行起来的程序或者软件,每次启动一个进程,操作系统会自动的为这个程序准备一些必要的资源分配,默认情况下启动一个进程只有一条线程,这个线程就是主线程,线程是依附在进程里面的,没有进程就没有线程,一个进程可以有多个线程。

我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心,它承担计算机的所有任务。Python中的多线程无法利用多核CPU优势,如果想要充分地使用多核CPU的资源,大部分情况需要使用多进程。

1、os模块

在前面的第10章Python模块中,我们已经详细介...

......

阅读全文

Python进程模块之multiprocessing模块(第6节)


multiprocessing模块

multiprocessing模块是Python标准库中提供的一个用于实现多进程编程的模块。multiprocessing模块和threading类实现多线程的效果类似,但是multiprocessing模块创建的是子进程而不是子线程,所以可以有效地避免全局解释锁和充分地使用多核CPU的资源,提高程序的执行效率,同时也可以实现进程间通信和数据共享。例如:

动手练一练:

import multiprocessing
import time

def worker(n):
    """该函数将在子进程中执行"&qu...
......

阅读全文