Сделайте 2 функции выполненными одновременно

Я пытаюсь сделать 2 функции выполненными одновременно.

def func1():
    print 'Working'

def func2():
    print 'Working'

func1()
func2()

Кто-либо знает, как сделать это?

38
задан Mattias Nilsson 2 June 2010 в 11:38
поделиться

2 ответа

Сделайте следующее:

from threading import Thread

def func1():
    print 'Working'

def func2():
    print 'Working'

if __name__ == '__main__':
    Thread(target = func1).start()
    Thread(target = func2).start()
68
ответ дан 27 November 2019 в 03:22
поделиться

Ответ о многопоточности хорош, но вам нужно уточнить, что вы хотите делать.

Если у вас есть две функции, обе из которых используют много ресурсов ЦП, многопоточность (в CPython), вероятно, ни к чему не приведет. Тогда вы можете взглянуть на модуль многопроцессорности или, возможно, вы захотите использовать jython / IronPython.

Если причиной является производительность, связанная с процессором, вы даже можете реализовать что-то на (непоточном) C и получить гораздо большее ускорение, чем выполнение двух параллельных операций в python.

Без дополнительной информации найти хороший ответ непросто.

11
ответ дан 27 November 2019 в 03:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: