Параллельная работа нескольких скриптов
Я не совсем понял как реализовать параллельную работу скриптов, так как у меня задача немного не простая. Есть главный скрипт и дочерние 3 штуки. Сделаю все на примере поиска текста в неком масиве предложений.
Главный:
from script1 import res1
from script2 import res2
def checker():
list = ['я ищу злое чудеще','оно пролетело над землей','ищу очень долго','может кто видел']
for txt in list:
print('Поиск.....')
print('еще что-то делается.....')
if txt.find('ищу') > -1:
res1()
res2() # дождаться окончания расчетов в res1
print('не дожидаться окончания расчетов в скриптов в условии...')
print('еще что-то делается.....')
checker()
Дочерний скрипт1:
def res1():
print('сделал расчеты для скрипта2 и сохранил в файл.....')
print('скрипт1 и 2 специально вызываются друг за другом, так бывает что вместо второ вызовится 4.....')
Дочерний скрипт2:
from script1 import res3
def res2():
print('прочитал файл и сделал расчет для сркипта3.....')
res3()
Дочерний скрипт3:
def res3():
print('вывелся отдельно результат.....')
Все скрипты специально разделены, так как код расчетов очень большой. То есть мне нужно, чтобы главный скрипт работал независимо и не дожидаясь результатов других скриптов, а они в свою очередь должны дожидаться друг друга.
Вопрос еще вот в чем, а стоит ли делать это, если процессы очень затратны по памяти нагрузке на процессор? Не факт что чей-то пк (кто решит воспользоваться программой) потянет их паралельную работу (никак не проверю весь свой проект на своем слабом пк, только теоретически тест на маленьких задача).
Вот тут меня еще как раз вопрос возникает, а сработает ли так, что пока выполняется условие, будет идти работа дальше и оно снова обратиться к условию, которое должно снова запуститься, но при этом старый запуск условия не факт что закончил работу, будет ли два раза вызванное условие работать не зависимо? (хотелось бы)