Python 延迟代码的执行?

Python 延迟代码的执行?,python,multithreading,Python,Multithreading,如果我的标题有点不清楚,我很抱歉。基本上,我想每秒打印一个“.”,持续五秒钟,然后执行一段代码。以下是我尝试过的: for iteration in range(5) : timer = threading.Timer(1.0, print_dot) timer.start() #Code chunk 似乎每个实例的计时器都会启动自己的线程,因此这五个计时器彼此非常接近,加上代码块也执行得太早。使用time.sleep() 使用time.sleep() 您的示例将5个计时器排队

如果我的标题有点不清楚,我很抱歉。基本上,我想每秒打印一个“.”,持续五秒钟,然后执行一段代码。以下是我尝试过的:

for iteration in range(5) :
    timer = threading.Timer(1.0, print_dot)
    timer.start()
#Code chunk
似乎每个实例的计时器都会启动自己的线程,因此这五个计时器彼此非常接近,加上代码块也执行得太早。

使用
time.sleep()

使用
time.sleep()


您的示例将5个计时器排队,并同时(相对地)启动它们

相反,把计时器锁起来。伪代码(因为我几乎不懂python):

iterationCount=0
函数执行链接打印点:
如果迭代计数<5
迭代计数=迭代计数+1
计时器=线程。计时器(1.0,执行链接打印点)
timer.start()
打印点()
执行链接打印点()
这假设python定时器类只触发print_dot方法一次。如果它不执行此操作,并反复激发print_dot直到停止,则改为执行此操作:

iterationCount = 0
timer = threading.Timer(1.0, execute_print_dot_until_finished)
timer.start()
function execute_print_dot_until_finished:
  if iterationCount < 5
    iterationCount = iterationCount + 1
    print_dot()
  else
    timer.stop()
iterationCount=0
定时器=线程。定时器(1.0,执行打印点直到完成)
timer.start()
函数执行_print _dot _直到_完成:
如果迭代计数<5
迭代计数=迭代计数+1
打印点()
其他的
计时器停止()

免责声明:我将不对本代码中的任何错误负责;)

您的示例将5个计时器排队,并同时(相对地)启动它们

相反,把计时器锁起来。伪代码(因为我几乎不懂python):

iterationCount=0
函数执行链接打印点:
如果迭代计数<5
迭代计数=迭代计数+1
计时器=线程。计时器(1.0,执行链接打印点)
timer.start()
打印点()
执行链接打印点()
这假设python定时器类只触发print_dot方法一次。如果它不执行此操作,并反复激发print_dot直到停止,则改为执行此操作:

iterationCount = 0
timer = threading.Timer(1.0, execute_print_dot_until_finished)
timer.start()
function execute_print_dot_until_finished:
  if iterationCount < 5
    iterationCount = iterationCount + 1
    print_dot()
  else
    timer.stop()
iterationCount=0
定时器=线程。定时器(1.0,执行打印点直到完成)
timer.start()
函数执行_print _dot _直到_完成:
如果迭代计数<5
迭代计数=迭代计数+1
打印点()
其他的
计时器停止()
免责声明:我将不对本代码中的任何错误负责;)