Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mendapatkan Kembali Nilai daripada Multiprocessing.Process Functions dalam Python?

Bagaimana untuk Mendapatkan Kembali Nilai daripada Multiprocessing.Process Functions dalam Python?

Mary-Kate Olsen
Lepaskan: 2024-12-02 19:07:26
asal
553 orang telah melayarinya

How to Retrieve Return Values from Multiprocessing.Process Functions in Python?

Akses Nilai Pulangan Fungsi dalam Multiprocessing.Process

Dalam multiprocessing dengan Python, mendapatkan nilai pulangan fungsi yang dihantar ke multiprocessing. Proses boleh menjadi rumit, kerana ia tidak disimpan terus dalam objek Proses.

Pertimbangkan contoh berikut:

import multiprocessing

def worker(procnum):
    '''worker function'''
    print(str(procnum) + ' represent!')
    return procnum


if __name__ == '__main__':
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=worker, args=(i,))
        jobs.append(p)
        p.start()

    for proc in jobs:
        proc.join()
    print(jobs)
Salin selepas log masuk

Walaupun kod ini mencetak output setiap proses pekerja, kami tidak boleh mengakses nilai pulangan mereka secara langsung.

Untuk mendapatkan semula nilai pulangan, kami boleh menggunakan pembolehubah kongsi. Dalam kod yang disemak berikut, Pengurus() daripada modul berbilang pemprosesan digunakan untuk mencipta kamus kongsi:

import multiprocessing


def worker(procnum, return_dict):
    """worker function"""
    print(str(procnum) + " represent!")
    return_dict[procnum] = procnum


if __name__ == "__main__":
    manager = multiprocessing.Manager()
    return_dict = manager.dict()
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=worker, args=(i, return_dict))
        jobs.append(p)
        p.start()

    for proc in jobs:
        proc.join()
    print(return_dict.values())
Salin selepas log masuk

Di sini, setiap proses pekerja mengemas kini kamus kongsi return_dict dengan nilai pulangannya. Proses utama kemudiannya boleh mengakses nilai ini daripada kamus kongsi.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kembali Nilai daripada Multiprocessing.Process Functions dalam Python?. 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