Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menjalankan Berbilang Fungsi Python Secara serentak Menggunakan Paralelisme?

Bagaimanakah Saya Boleh Menjalankan Berbilang Fungsi Python Secara serentak Menggunakan Paralelisme?

Mary-Kate Olsen
Lepaskan: 2024-11-18 05:06:02
asal
311 orang telah melayarinya

How Can I Run Multiple Python Functions Simultaneously Using Parallelism?

Cara Melaksanakan Fungsi Serentak dengan Python Parallelism

Dalam Python, berusaha untuk melaksanakan berbilang fungsi serentak boleh menjadi satu cabaran. Khususnya, apabila fungsi beroperasi secara bebas tanpa campur tangan bersama, menunggu satu fungsi selesai sebelum memulakan satu lagi mengehadkan kecekapan. Untuk menangani isu ini, Python menawarkan dua pendekatan: threading dan multiprocessing.

Meneroka Multiprocessing for True Parallelism

Multiprocessing ialah pilihan yang lebih baik untuk mencapai paralelisme tulen dalam Python kerana kekangan yang dikenakan oleh CPython. Berikut ialah contoh menyeluruh yang menunjukkan penggunaan berbilang pemprosesan:

from multiprocessing import Process

def func1():
    print("func1: starting")
    for i in range(10000000):
        pass
    print("func1: finishing")


def func2():
    print("func2: starting")
    for i in range(10000000):
        pass
    print("func2: finishing")


if __name__ == "__main__":
    p1 = Process(target=func1)
    p1.start()
    p2 = Process(target=func2)
    p2.start()
    p1.join()
    p2.join()
Salin selepas log masuk

Pendekatan ini menggunakan kelas Proses daripada modul berbilang pemprosesan Python untuk melahirkan dan mengurus proses anak bagi setiap fungsi. Dengan memulakan dan menyertai proses, kedua-dua func1 dan func2 boleh melaksanakan secara selari.

Merangkum Pelaksanaan Selari

Mekanik memulakan dan mencantumkan proses boleh dirangkumkan dengan mudah ke dalam 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)
Salin selepas log masuk

Fungsi ini mengambil sebarang bilangan fungsi sebagai input dan memulakan pelaksanaan selari mereka. Ia mengasingkan pengendalian proses asas, membolehkan anda melaksanakan pelbagai fungsi secara serentak dengan lancar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Berbilang Fungsi Python Secara serentak Menggunakan Paralelisme?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan