Python并发编程:多线程(threading模块)

Python是一门强大的编程语言,提供了多种并发编程方式,其中多线程是非常重要的一种。本文将详细介绍Python的threading模块,包括其基本用法、线程同步、线程池等,最后附上一个综合详细的例子并输出运行结果。

一、多线程概述

多线程是一种并发编程方式,它允许在一个进程内同时运行多个线程,从而提高程序的运行效率。线程是轻量级的进程,拥有自己的栈空间,但共享同一个进程的内存空间。

二、threading模块

threading模块是Python标准库中的一个模块,提供了创建和管理线程的工具。

2.1 创建线程

可以通过继承threading.Thread类或者直接使用threading.Thread创建线程。

示例:继承threading.Thread类

import threading

class MyThread(threading.Thread):
    def run(self):
        for i in range(5):
            print(f'Thread {self.name} is running')

if __name__ == "__main__":
    threads = [MyThread() for _ in range(3)]
    for thread in threads:
        thread.start()
    for thread in threads:
        thread.join()

示例:直接使用threading.Thread

import threading

def thread_function(name):
    for i in range(5):
        print(f'Thread {name} is running')

if __name__ == "__main__":
    threads = [threading.Thread(target=thread_function, args=(i,)) for i in range(3)]
    for thread in threads:
        thread.start()
    for thread in threads:
        thread.join()
2.2 线程同步

在多线程编程中,经常需要确保多个线程在访问共享资源时不发生冲突。这时需要用到线程同步工具,如锁(Lock)、条件变量(Condition)、信号量(Semaphore)等。

示例:使用锁(Lock)

import threading

counter = 0
lock = threading.Lock()

def increment_counter():
    global counter
    for _ in range(1000):
        with lock:
            counter += 1

if __name__ == "__main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值