Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Saya Mendapat RuntimeError Apabila Menggunakan Multiprocessing pada Windows?

Mengapa Saya Mendapat RuntimeError Apabila Menggunakan Multiprocessing pada Windows?

Barbara Streisand
Barbara Streisandasal
2024-11-20 00:15:02776semak imbas

Why Do I Get a RuntimeError When Using Multiprocessing on Windows?

Windows RuntimeError Menggunakan Multiprocessing

Ralat ini timbul apabila cuba melancarkan proses multiprocessing Python pada Windows tanpa menggunakan simpulan bahasa permulaan yang betul.

Dalam soalan itu, program Python cuba melancarkan urutan dan proses daripada modul berasingan tetapi menemui RuntimeError. Puncanya ialah subproses Windows secara tersirat mengimport modul utama apabila dimulakan. Tanpa pengawalan yang betul, ia membawa kepada penciptaan subproses rekursif.

Penyelesaian:

Untuk menyelesaikan ralat, perlu menambah jika name == '__main__' jaga dalam modul utama untuk mengelakkan berbilang kejadian proses.

Modul Utama Diubah Suai (testMain.py):

if __name__ == '__main__':    
    import parallelTestModule

    extractor = parallelTestModule.ParallelExtractor()
    extractor.runInParallel(numProcesses=2, numThreads=4)

Dalam versi yang diubah suai ini, modul utama secara eksplisit menyemak sama ada ia adalah proses utama sebelum melaksanakan kod selari. Ini memastikan bahawa subproses tidak dibuat secara rekursif dan mengelakkan RuntimeErorr.

Atas ialah kandungan terperinci Mengapa Saya Mendapat RuntimeError Apabila Menggunakan Multiprocessing pada Windows?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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