我已经查看了之前的所有答案,对于像我这样的初学者来说,它们太复杂了。我想在同时循环运行。例如,我想同时运行这两个:
def firstFunction():
do things
def secondFunction():
do some other things
正如我所说,其他答案太复杂,我无法理解。
答案 0 :(得分:5)
假设你的while循环在你列出的函数中,这是我能想到的最简单的方法。
from threading import Thread
t1 = Thread(target = firstFunction)
t2 = Thread(target = secondFunction)
t1.start()
t2.start()
正如tdelaney指出的那样,这样做只会启动每个线程并立即继续前进。如果在运行程序的其余部分之前需要等待这些线程完成,可以使用.join()方法。
答案 1 :(得分:2)
这是一个非常基本的线程类,可以帮助您启动并运行。
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
循环,确保构建一个出口。线程很难,但请尽量在文档中阅读,并尽可能让我为你提供的工作。
答案 2 :(得分:2)
使用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, ())