Jalankan Fungsi Secara Selari: Panduan untuk Berbilang Pemprosesan
Konsep
Berbilang tugas melibatkan pelaksanaan berbilang tugasan secara serentak, satu pencapaian yang boleh dicapai melalui sama ada threading atau pemproses berbilang.
Pemprosesan berbilang lwn. Pemprosesan
Dalam Python, penjalinan amat berguna untuk operasi terikat I/O. Untuk tugasan intensif CPU, pemproses berbilang menawarkan prestasi yang lebih baik kerana ia memanfaatkan berbilang teras pemproses.
Fungsi Menjalankan Secara Selari
Pertimbangkan senario berikut:
import common 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)
Untuk melaksanakan func1 dan func2 secara serentak, multiprocessing hendaklah bekerja. Di bawah ialah contoh:
from multiprocessing import Process if __name__ == "__main__": p1 = Process(target=func1) p1.start() p2 = Process(target=func2) p2.start() p1.join() p2.join()
Merangkum Pelaksanaan Selari
Kod di atas boleh dipermudahkan menjadi fungsi yang memudahkan pelaksanaan selari berbilang fungsi:
def runInParallel(*fns): proc = [] for fn in fns: p = Process(target=fn) p.start() proc.append(p) for p in proc: p.join() runInParallel(func1, func2)
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Berbilang Fungsi Python secara Selari Menggunakan Multiprocessing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!