Python的多线程是指在一个进程中创建多个线程,每个线程可以并行执行不同的任务,以提高程序的效率和性能。
在Python中,多线程可以通过标准库中的threading模块来实现。
多线程的主要优点是可以充分利用CPU的资源,提高程序的执行效率。同时,由于多个线程可以同时执行,因此可以有效避免某些阻塞问题。但是,多线程也会带来一些问题,如线程安全、线程同步等。
- threading语法:
import threading
thread_obj = threading.Thread([target [,name [,args [, kwargs]]]])
target: 执行的目标任务名
args: 以元组的方式给执行任务传参
kwargs: 以字典方式给执行任务传参
name: 线程名,一般不用设置
- 例如有如下三个方法,每一个都有一个条件为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()
- 使用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都会出现在控制台上!