python如何并行执行两个函数_如何在python中并行运行多个函数

from threading import Thread

def announce(data):

subprocess.call('espeak',data)

class worker(Thread):

def __init__(self, data):

Thread.__init__(self)

self.data = data

def run(self):

if receiveddata=='a1':

announce("i am ok in room1")

if receiveddata=='b2':

announce("Urgently attend room 1")

# at the end of run() the process will die.

while 1:

receiveddata = xbee.readline()

thread_handle = worker(receiveddata)

thread_handle.start() #

下面是一个框架框架,您可以使用它来实现Python中的并行处理。它既不完整也不完美,但它会给你一个开始,它会解决你最初的问题。在

这里有很多关于线程和其他东西的“最佳实践”,我会让google来解释和寻找它们,因为总有比我在这里一个简短的答案中所能产生的更好的解决方案。在

好消息:

我很荣幸您是python线程新手。在

但正如下面的注释中所讨论的,如果串行端口上有大量数据(这将create thread->;do work->;die)上的大量数据,这将是一个需要资源的解决方案。在

有更有效的线程解决方案(例如在整个程序中保持线程的活动状态,并在类中调用一个函数来代替它)。但这是开始工作所需的最低限度。在

一旦你对线感到舒服

我将在这里留下这些链接,让您从上面这个非常基本的示例中体验和发展您的线程知识:

处理队列

你可能感兴趣的:(python如何并行执行两个函数_如何在python中并行运行多个函数)