python多线程threading模块

43 阅读1分钟

Python的多线程是指在一个进程中创建多个线程,每个线程可以并行执行不同的任务,以提高程序的效率和性能

在Python中,多线程可以通过标准库中的threading模块来实现。

多线程的主要优点是可以充分利用CPU的资源,提高程序的执行效率。同时,由于多个线程可以同时执行,因此可以有效避免某些阻塞问题。但是,多线程也会带来一些问题,如线程安全、线程同步等。

  1. threading语法:
import threading
thread_obj = threading.Thread([target [,name [,args [, kwargs]]]])
target: 执行的目标任务名
args: 以元组的方式给执行任务传参
kwargs: 以字典方式给执行任务传参
name: 线程名,一般不用设置
  1. 例如有如下三个方法,每一个都有一个条件为True的while循环,只要运行,便不会主动停止。
import time

def sing():
    while True:
        print("我在唱歌,鸡你太美~~")
        time.sleep(1)          # time.sleep(1) 表示让程序睡眠一分钟


def jump():
    while True:
        print("音乐,music~")
        time.sleep(1)


def rap(lyric):
    while True:
        print(f"{lyric}~")
        time.sleep(1)

如果同时调用三个方法,只有最先被调用的会被执行,后边的两个函数会被阻塞。

sing()
jump()
rap()
  1. 使用threading为每个函数提供一个线程,就可以同时让三个程序都运行起来。
# 创建唱歌的线程
sing_thread = threading.Thread(target=sing)
# 创建跳的线程
jump_thread = threading.Thread(target=jump)
# 创建rap的线程
rap_thread = threading.Thread(target=rap,args=("写下你们虔诚的忏悔",))

# 让线程去干活
sing_thread.start()
jump_thread.start()
rap_thread.start()

右键运行py文件,便可以看到三个方法的print都会出现在控制台上!