白云岛资源网 Design By www.pvray.com
一、 例子:我们对传参是有要求的必须传入一个元组,否则报错
import _thread as thread import time def loop1(in1): print("Start loop 1 at:", time.ctime()) print("我是参数", in1) time.sleep(4) print("End loop 1 at:", time.ctime()) def loop2(in1, in2): print("Start loop 2 at:", time.ctime()) print("我是参数", in1, "和参数 ", in2) time.sleep(4) print("End loop 1 at:", time.ctime()) def main(): print("Starting at:", time.ctime()) thread.start_new_thread(loop1, ("liuming", )) # 上面我们传参的时候, 我用的是:(“ liuming”), 这里面是没有逗号的, 结果编译报错, 告诉我, 这里面必须传入元组 # 因此, 我才在里面加了一个逗号, 使其变成一个元组 thread.start_new_thread(loop2, ("zhanglei", "liuhao")) print("All done at:", time.ctime()) if __name__ == "__main__": main() while True: time.sleep(10) "text-align: center">二、threading的使用
直接利用threading.Thread生成Thread的实例
格式:
t= threading.Thread(target=函数体,args=(,))#参数args要传递元组
"htmlcode">
def main(): print("Start at :", time.ctime()) t1 = threading.Thread(target = loop1, args = ("王老大", )) t1.start()# 启动多线程 t2 = threading.Thread(target = loop2, args = ("孙子", "好吗")) t2.start() t1.join() t2.join() print("End at :", time.ctime()) if __name__ == "__main__": main()从上面可以看出来,我们启动了两个线程,但是这两个线程执行完了才打印"text-align: center">
def fun(): print("Start fun") time.sleep(2) print("End fun") "Main thread End")")后,我们的子线程的最后一个打印没有出来,程序就结束了,说明主线程结束,子线程无论执行到哪里都会被kill掉,和我们的预期一样。
三、源码
d24_2_usage_of_threading.py
地址:https://github.com/ruigege66/Python_learning/blob/master/d24_2_usage_of_threading.py
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
白云岛资源网 Design By www.pvray.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
白云岛资源网 Design By www.pvray.com
暂无评论...