前言丨
寒冷的冬天,小虫子最喜欢和好朋友们一起吃火锅了,那么像这种多人同时吃火锅的场景如何用python实现呢?
前景提示:threading.Thread类中的方法
run(): 用以表示线程活动的方法。
start():启动线程活动。
join([time]): 当前线程等待Thread对象对应的线程中止。
如thread_a.join()表示将阻塞当前线程直至thread_a线程被调用中止/正常退出/抛出异常/超时。
isAlive(): 返回线程是否活动的。
getName(): 返回线程名。
setName(): 设置线程名。
exit():线程的结束一般依靠线程函数的自然结束;也可以在线程函数中调用thread.exit(),他抛出SystemExit exception,达到退出线程的目的。
执行函数
先写一个执行函数,用来实现做某件事情,不同的人吃火锅用一个参数people代替。
重写threading.Thread
使用Threading模块创建线程,直接从threading.Thread继承,然后重写__init__方法和run方法
start和run区别
1.start()方法 开始线程活动。
对每一个线程对象来说它只能被调用一次,它安排对象在一个另外的单独线程中调用run()方法(而非当前所处线程)。
当该方法在同一个线程对象中被调用超过一次时,会引入RuntimeError(运行时错误)。
2.run()方法 代表了线程活动的方法。
你可以在子类中重写此方法。
标准run()方法调用了传递给对象的构造函数的可调对象作为目标参数,如果有这样的参数的话,顺序和关键字参数分别从args和kargs取得
参考代码
运营结果:
备注:这里运行结果会出现一个问题:主线程已经退出了,子线程Thread-1和Thread-2还在跑。
这就是后面需要讲的守护线程的内容!
以上是python笔记5全部内容,如果觉得对你有帮助,就点击“收藏”吧!
如果还有疑问的地方,欢迎评论留言给我们~