Python基础语法之多线程
只有最基础用法,待更新补充
python的多线程依靠threading和_thread模块实现,但_thread被淘汰。现只使用threading模块 多线程是为了同时间段运行多段代码,即并发。利用时间等待片段去干其他事。 并行一般为多处理器处理多个事件,python多进制可以实现并行。
import threading
import time
# 定义一个函数
def fun(args):
print(f'我是线程{args}')
time.sleep(2)
print(f'线程{args}结束\n')
'''
下方的Thread方法参数:
函数参数可以是一个表达式。为什么设置线程时使用target=fun格式呢?也许因为线程原函数作用域
存在一个target变量需要赋值发挥作用
赋值给args的必须是一个元祖,但元祖只有一个项时,需要添加逗号避免被识别为数字
执行线程操作时,不会等待t1执行完毕,而是t1传递到一个线程执行马上回到主线程
'''
t1 = threading.Thread(target=fun, args=(1,))
t2 = threading.Thread(target=fun, args=(2,))
start_time = time.time()
t1.start()
t2.start()
end_time = time.time()
print(f'\n启动两个线程花费{end_time - start_time}')
输出情况:两个线程谁更快结束是一个随机事件。尽管线程1先启动,但这点时间可以忽略不计
本文来自博客园,作者:xzjeff,为个人学习笔记。

浙公网安备 33010602011771号