Najpierw szukałem informacji i nie mogłem znaleźć odpowiedzi na moje pytanie. Próbuję uruchomić wiele funkcji równolegle w Pythonie.Python: Jak uruchomić funkcje Pythona równolegle?
mam coś takiego:
files.py
import common #common is a util class that handles all the IO stuff
dir1 = 'C:\folder1'
dir2 = 'C:\folder2'
filename = 'test.txt'
addFiles = [25, 5, 15, 35, 45, 25, 5, 15, 35, 45]
def func1():
c = common.Common()
for i in range(len(addFiles)):
c.createFiles(addFiles[i], filename, dir1)
c.getFiles(dir1)
time.sleep(10)
c.removeFiles(addFiles[i], dir1)
c.getFiles(dir1)
def func2():
c = common.Common()
for i in range(len(addFiles)):
c.createFiles(addFiles[i], filename, dir2)
c.getFiles(dir2)
time.sleep(10)
c.removeFiles(addFiles[i], dir2)
c.getFiles(dir2)
chcę zadzwonić func1 i func2 i je uruchomić w tym samym czasie. Funkcje nie współdziałają ze sobą ani z tym samym obiektem. Teraz muszę poczekać na zakończenie func1, zanim rozpocznie się func2. Jak mogę zrobić coś jak poniżej:
process.py
from files import func1, func2
runBothFunc(func1(), func2())
Chcę, aby móc stworzyć zarówno katalogi dość blisko do tego samego czasu, ponieważ każdy min liczę ile pliki są tworzone. Jeśli katalog nie będzie tam, to zrzuci mój czas.
Pytanie o aktualizację – lmcadory
Możesz chcieć przebudować to; jeśli zliczasz liczbę plików/folderów co minutę, tworzysz warunki wyścigu. Co powiesz na to, aby każda funkcja aktualizowała licznik, lub używał pliku blokującego, aby upewnić się, że proces okresowy nie aktualizuje licznika, dopóki obie funkcje nie zostaną zakończone? –