python 多线程 thread (控制主线程跑完,子线程也关闭)

sunny0 2020-04-14

import thread
from time import sleep, ctime
loops = [4,2]
def loop0():
  print ‘start loop 0 at:‘, ctime()
  sleep(4)
  print ‘loop 0 done at:‘, ctime()


def loop1():
  print ‘start loop 1 at:‘, ctime()
  sleep(2)
  print ‘loop 1 done at:‘, ctime()


def main():
  print ‘start:‘, ctime()
  a=thread.start_new_thread(loop0, ())
  thread.start_new_thread(loop1, ())
  sleep(6)
  print ‘all end:‘, ctime()


if __name__ == ‘__main__‘:
  main()

说明:

start_new_thread()要求一定要有前两个参数。所以,就算我们想要运行的函数不要参数,我们也 要传一个空的元组。

当脚本启动,实际就是启动了一个主线程,当主线程跑完,子线程也会随之关闭(无乱是否执行完)

主线程和子线程是同时执行的

我们可以把sleep(6)的位置改成去外部txt文件 查询值,当值为1 那么主线程跑完,子线程也随之的关闭掉

相关推荐