threading方法怎么在Python项目中使用

threading方法怎么在Python项目中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、 例子:我们对传参是有要求的必须传入一个元组,否则报错

import_threadasthread
importtime
defloop1(in1):
print("Startloop1at:",time.ctime())
print("我是参数",in1)
time.sleep(4)
print("Endloop1at:",time.ctime())
defloop2(in1,in2):
print("Startloop2at:",time.ctime())
print("我是参数",in1,"和参数",in2)
time.sleep(4)
print("Endloop1at:",time.ctime())
defmain():
print("Startingat:",time.ctime())
thread.start_new_thread(loop1,("liuming",))
#上面我们传参的时候,我用的是:(“liuming”),这里面是没有逗号的,结果编译报错,告诉我,这里面必须传入元组
#因此,我才在里面加了一个逗号,使其变成一个元组
thread.start_new_thread(loop2,("zhanglei","liuhao"))
print("Alldoneat:",time.ctime())
if__name__=="__main__":
main()
whileTrue:
time.sleep(10)

threading方法怎么在Python项目中使用

二、threading的使用

直接利用threading.Thread生成Thread的实例

格式:

t= threading.Thread(target=函数体,args=(,))#参数args要传递元组

t.start()#启动多线程

t.join()#等待多线程执行完成

defmain():
print("Startat:",time.ctime())
t1=threading.Thread(target=loop1,args=("王老大",))
t1.start()#启动多线程
t2=threading.Thread(target=loop2,args=("孙子","好吗"))
t2.start()
t1.join()
t2.join()
print("Endat:",time.ctime())
if__name__=="__main__":
main()

threading方法怎么在Python项目中使用

从上面可以看出来,我们启动了两个线程,但是这两个线程执行完了才打印最后一个结束语句。

2.守护线程

格式:线程.setDaemon(True)

作用:

(1)如果在程序中将子线程设置为守护线程,则子线程会在主线程结束的时候自动退出;

(2)一般认为,守护线程不重要或者不允许脱离子线程而独立运行;

(3)守护线程能否有效果和环境有关系

注意点:该语句一定要写在start语句之前,否则就会把子程序无限时间挂起,运行报错,如:

threading方法怎么在Python项目中使用

deffun():
print("Startfun")
time.sleep(2)
print("Endfun")
print('Mainthread')
t3=threading.Thread(target=fun,args=())
t3.setDaemon(True)
t3.start()
time.sleep(1)
print("MainthreadEnd")

threading方法怎么在Python项目中使用

看完上述内容,你们掌握threading方法怎么在Python项目中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

发布于 2021-03-24 01:23:18
收藏
分享
海报
0 条评论
162
上一篇:Unittest框架怎么在Python项目中使用 下一篇:在小程序中使用this.setData时需要注意哪些事项
目录

    推荐阅读

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码