Существует множество возможных вариантов того, что вы хотели:
использовать цикл
Как отмечали многие, это самый простой способ.
for i in xrange(10000):
# use xrange instead of range
taskA()
taskB()
Достоинства: легко понять и использовать, дополнительная библиотека не требуется.
Недостатки: задача B должна выполняться после задачи A или иным образом.Они не могут работать одновременно.
multiprocess
Еще одна мысль: запустить два процесса одновременно, python предоставляет многопроцессную библиотеку , следующее простоепример:
from multiprocessing import Process
p1 = Process(target=taskA, args=(*args, **kwargs))
p2 = Process(target=taskB, args=(*args, **kwargs))
p1.start()
p2.start()
достоинства: задачу можно запустить simultaneously
в фоновом режиме, вы можете управлять задачами (завершать, останавливать их и т. д.), задачи могут обмениваться данными, могут быть синхронизированы, если они конкурируют с одними и теми же ресурсамии т.д.
недостатки: слишком тяжелые! ОС часто переключается между ними, у них есть свое собственное пространство данных, даже если данные избыточны.Если у вас много задач (скажем, 100 или более), это не то, что вы хотите.
Threading
Threading похож на процесс, только легкий.проверить этот пост .Их использование очень похоже:
import threading
p1 = threading.Thread(target=taskA, args=(*args, **kwargs))
p2 = threading.Thread(target=taskB, args=(*args, **kwargs))
p1.start()
p2.start()
сопрограммы
библиотеки, такие как greenlet
и gevent
, предоставляют нечто, называемое сопрограммой, которое должно быть быстрее, чем многопоточность.Примеры не предоставлены, пожалуйста, Google, как использовать их, если вы заинтересованы.
достоинства: более гибкий и легкий
недостатки: требуется дополнительная библиотека, обучение.