提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:提到多线程必须要先明白关键词的定义:
例如:进程和线程的概念。
- 进程是指一个程序,比如在电脑里面运行的QQ,浏览器就是一个进程。每个进程之间相互隔离,占用不同的资源,一个进程至少包含一个线程。
- 线程就是一个进程里面的一部分,一个进程可以拥有多个线程,其中包含一个主线程,多个线程并发实现效率的提高。
提示:以下是本篇文章正文内容,下面案例可供参考
一、threading是什么?
示例:Thread是python已经存在的标准库,该模块提供了强大的多线程编程支持。通过Thread类可以创建和管理线程,使用Lock、Queue等工具可以解决线程同步和通信问题。对于I/O密集型任务,多线程可以有效提高效率。
二、使用步骤
1.引入模块
代码如下(示例):
import threading
2.创建多线程
代码如下(示例):
import threading
import time
def target_1():
for i in range(5):
print("线程函数 1")
time.sleep(1)
def target_2():
for i in range(5):
print("线程函数 2")
time.sleep(1)
def th1():
th = threading.Thread(target=target_1) # 新建一个线程
th.start()
return th
def th2():
th = threading.Thread(target=target_2)
th.start()
return th
def _main():
print("主线程开始")
threading_1 = th1()
threading_2 = th2()
print("主线程结束")
if __name__ == '__main__':
start_time = time.perf_counter()
_main()
end_time = time.perf_counter()
total_time = end_time - start_time
# print(f"耗时: {total_time}")
以上代码实现创建两个线程,并且执行。
3.多线程目标函数传递参数
假如遇到目标函数需要传递参数,稍加修改,示例代码如下
import threading
import time
def target_1(name):
for i in range(5):
print(name + " 线程函数 1")
time.sleep(1)
def target_2(name):
for i in range(5):
print(name + " 线程函数 2")
time.sleep(1)
def th1():
th = threading.Thread(target=target_1, args=("Tom",)) # 新建一个线程
th.start()
return th
def th2():
th = threading