如何在循环已经运行的情况下继续执行代码

时间:2019-06-30 05:19:26

标签: python python-3.x infinite-loop running-other-programs

我创建了一个在开始时显示实时时钟的代码(循环运行,并使用\ r每1秒刷新一次) 但是我想在时钟滴答(连续)的同时运行其余代码。但这在循环运行时没有任何作用。 我认为无需编写时钟代码。

1 个答案:

答案 0 :(得分:1)

如果要运行任务,则在使用另一个任务时可以使用多线程。这意味着您告诉处理器两个不同的任务,只要您告诉它可以工作,它将继续执行。请参阅此处有关multithreading and multiprocessing的帖子。您可以为此使用python的线程函数。

这里有个小例子:

import threading
import time
# Define a function for the thread
def print_time( threadName, delay):
   count = 0
   while count < 10:
      time.sleep(delay)
      count += 1
      print ("%s: %s" % ( threadName, time.ctime(time.time()) ))

def counter(threadName, number_of_counts, delay):
    count=0
    while count < number_of_counts:
        print ("%s: %s" % ( threadName, count))
        time.sleep(delay)
        count +=1
# Create two threads as follows
threading.Thread(target=print_time, args=("Thread-1", 1, )).start()
threading.Thread(target=counter, args=("Thread-2", 100, 0.1,)).start()

有关更多信息,请检查the documentation。请注意,在Python 3中,thread已重命名为_thread