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

Bagaimanakah Saya Boleh Menjalankan Fungsi Python Secara serentak Menggunakan Multiprocessing?

Mary-Kate Olsen
Lepaskan: 2024-11-21 12:08:11
asal
445 orang telah melayarinya

How Can I Run Python Functions Concurrently Using Multiprocessing?

Cara Melaksanakan Fungsi serentak dalam Python

Pengenalan

Dalam Python, adalah wajar untuk melaksanakan berbilang fungsi secara serentak untuk mengoptimumkan prestasi, terutamanya apabila fungsi adalah bebas dan tidak mengganggu antara satu sama lain. Artikel ini meneroka teknik untuk menjalankan fungsi secara selari.

Menggunakan Benang dan Pemprosesan Berbilang

Disebabkan pengehadan penterjemah CPython, penjalinan mungkin tidak memberikan keselarian sebenar. Walau bagaimanapun, berbilang pemprosesan secara amnya menawarkan prestasi yang lebih baik.

Contoh Pelaksanaan

Pertimbangkan contoh berikut di mana kami ingin menjalankan dua fungsi, func1 dan func2, secara selari:

def func1():
    # Some code

def func2():
    # Some code
Salin selepas log masuk

Untuk menjalankan fungsi ini secara serentak menggunakan multiprocessing, kita boleh menggunakan yang berikut langkah:

  1. Buat objek Proses untuk setiap fungsi:

    p1 = Process(target=func1)
    p2 = Process(target=func2)
    Salin selepas log masuk
  2. Mulakan proses:

    p1.start()
    p2.start()
    Salin selepas log masuk
  3. Tunggu proses untuk lengkap:

    p1.join()
    p2.join()
    Salin selepas log masuk

Encapsulation

Untuk memudahkan proses menjalankan fungsi secara selari, kita boleh mentakrifkan fungsi utiliti:

def runInParallel(*fns):
    # Start the processes
    for fn in fns:
        p = Process(target=fn)
        p.start()

    # Wait for the processes to finish
    for p in fns:
        p.join()
Salin selepas log masuk

Menggunakan fungsi ini, kini kita boleh menjalankan dua fungsi serentak dengan mudah:

runInParallel(func1, func2)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Fungsi Python Secara serentak Menggunakan Multiprocessing?. 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