Tôi đã nghiên cứu trước và không thể tìm thấy câu trả lời cho câu hỏi của mình. Tôi đang cố chạy nhiều hàm song song trong Python.Python: Làm thế nào tôi có thể chạy các hàm python song song?
Tôi có một cái gì đó như thế này:
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)
Tôi muốn gọi Func1 và Func2 và họ đã chạy cùng một lúc. Các chức năng không tương tác với nhau hoặc trên cùng một đối tượng. Ngay bây giờ tôi phải chờ func1 kết thúc trước khi func2 bắt đầu. Làm cách nào để tôi thực hiện điều gì đó như dưới đây:
process.py
from files import func1, func2
runBothFunc(func1(), func2())
Tôi muốn có thể tạo cả hai thư mục khá gần với cùng một thời điểm vì mỗi phút tôi đếm số lượng tệp đang được tạo. Nếu thư mục không có ở đó, nó sẽ làm mất thời gian của tôi.
Cập nhật câu hỏi – lmcadory
Bạn có thể muốn thiết kế lại kiến trúc này; nếu bạn đang đếm số lượng tệp/thư mục mỗi phút, bạn đang tạo ra một điều kiện chủng tộc. Điều gì về việc có mỗi chức năng cập nhật một truy cập, hoặc sử dụng một lockfile để đảm bảo rằng các quá trình định kỳ không cập nhật số cho đến khi cả hai chức năng đã hoàn thành thực hiện? –