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先启动,但这点时间可以忽略不计
本文来自博客园,作者:xzjeff,为个人学习笔记。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix