Python基础语法之多线程

只有最基础用法,待更新补充

 

python的多线程依靠threading和_thread模块实现,但_thread被淘汰。现只使用threading模块 多线程是为了同时间段运行多段代码,即并发。利用时间等待片段去干其他事。 并行一般为多处理器处理多个事件,python多进制可以实现并行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import threadingimport 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先启动,但这点时间可以忽略不计

posted @   xzjeff  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示