我已经浏览了所有以前的答案,对于像我这样的初学者来说,它们都太复杂了。我也想同时运行while循环。例如,我想同时运行这两个:
def firstFunction():
do things
def secondFunction():
do some other things
正如我所说,其他答案太复杂了,我无法理解。
我已经浏览了所有以前的答案,对于像我这样的初学者来说,它们都太复杂了。我也想同时运行while循环。例如,我想同时运行这两个:
def firstFunction():
do things
def secondFunction():
do some other things
正如我所说,其他答案太复杂了,我无法理解。
假设您的 while 循环在您列出的函数内,这是我能想到的最简单的方法。
from threading import Thread
t1 = Thread(target = firstFunction)
t2 = Thread(target = secondFunction)
t1.start()
t2.start()
正如 tdelaney 所指出的,这样做只会启动每个线程并立即继续前进。如果您需要在运行程序的其余部分之前等待这些线程完成,您可以使用 .join() 方法。
使用thread
模块:
import thread
def firstFunction():
while some_condition:
do_something()
def secondFunction():
while some_other_condition:
do_something_else()
thread.start_new_thread(firstFunction, ())
thread.start_new_thread(secondFunction, ())
这是一个非常基本的线程类,可以让您启动并运行。
from threading import *
class FuncThread(threading.Thread):
def __init__(self, target, *args):
self._target = target
self._args = args
threading.Thread.__init__(self)
def run(self):
self._target()
要调用它,请使用:
ThreadOne = FuncThread(firstFunction())
ThreadOne.start()
secondFunction()
ThreadOne.join()
那应该让你非常接近。您将不得不使用它以使其在您的场景中工作。小心运行这些多个while
循环,确保在出口中构建。线程很困难,但请尝试在文档中阅读它,并尽可能让我提供的内容为您工作。