


Bagaimanakah perpustakaan berbilang pemprosesan Python dapat memudahkan Komunikasi Antara Proses?
Komunikasi Antara Proses dalam Python
Komunikasi Antara Proses (IPC) membolehkan komunikasi antara berbilang proses Python yang sedang berjalan. Meneroka pelbagai pilihan, seperti menggunakan paip bernama, perkhidmatan dbus dan soket, boleh menjadi mencabar. Artikel ini membentangkan penyelesaian peringkat lebih tinggi dan mantap menggunakan perpustakaan berbilang pemprosesan.
Menggunakan Pustaka Berbilang pemprosesan
Perpustakaan berbilang pemprosesan menawarkan cara yang mudah dan cekap untuk melaksanakan IPC dalam Python. Ia menyediakan pendengar dan pelanggan yang merangkum soket dan membolehkan anda menukar objek Python secara langsung.
Mendengar Mesej
Untuk mencipta proses mendengar, gunakan kelas Pendengar:
<code class="python">from multiprocessing.connection import Listener address = ('localhost', 6000) listener = Listener(address, authkey=b'secret password') conn = listener.accept() print('connection accepted from', listener.last_accepted)</code>
Pendengar menunggu pada alamat IP dan port yang ditentukan untuk sambungan masuk. Setelah sambungan diwujudkan, objek Sambungan (sambungan) dikembalikan.
Menghantar Mesej
Untuk menghantar mesej sebagai objek Python, gunakan kelas Klien:
<code class="python">from multiprocessing.connection import Client address = ('localhost', 6000) conn = Client(address, authkey=b'secret password') conn.send('close') conn.close()</code>
Kelas Pelanggan bersambung ke alamat yang ditentukan dan boleh menghantar objek sewenang-wenangnya ke proses mendengar.
Contoh Pelaksanaan
Pertimbangkan kes penggunaan mudah di mana satu proses (listener.py) mendengar mesej dan yang lain (client.py) menghantar mesej.
pendengar.py:
<code class="python">from multiprocessing.connection import Listener listener = Listener(('localhost', 6000), authkey=b'secret password') conn = listener.accept() message = conn.recv() if message == 'close': conn.close() listener.close() exit(0) else: conn.close() listener.close() exit(1)</code>
client.py:
<code class="python">from multiprocessing.connection import Client conn = Client(('localhost', 6000), authkey=b'secret password') conn.send('close') conn.close()</code>
Apabila anda menjalankan listener.py dan kemudian client.py, proses pendengar akan menerima mesej dan keluar dengan kod pulangan 0, yang menunjukkan kejayaan. Jika mesej tidak sah dihantar, pendengar akan keluar dengan kod pulangan bukan sifar, menunjukkan kegagalan.
Contoh ini menunjukkan kemudahan dan fleksibiliti menggunakan perpustakaan berbilang pemprosesan untuk komunikasi antara proses dalam Python. Ia menyediakan abstraksi peringkat lebih tinggi pada soket, membolehkan anda menghantar dan menerima objek Python dengan lancar antara proses.
Atas ialah kandungan terperinci Bagaimanakah perpustakaan berbilang pemprosesan Python dapat memudahkan Komunikasi Antara Proses?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penyelesaian kepada Isu Kebenaran Semasa Melihat Versi Python di Terminal Linux Apabila anda cuba melihat versi Python di Terminal Linux, masukkan Python ...

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Apabila menggunakan Perpustakaan Pandas Python, bagaimana untuk menyalin seluruh lajur antara dua data data dengan struktur yang berbeza adalah masalah biasa. Katakan kita mempunyai dua DAT ...

Bagaimanakah Uvicorn terus mendengar permintaan HTTP? Uvicorn adalah pelayan web ringan berdasarkan ASGI. Salah satu fungsi terasnya ialah mendengar permintaan HTTP dan teruskan ...

Fastapi ...

Menggunakan Python di Terminal Linux ...

Memahami Strategi Anti-Crawling of Investing.com Ramai orang sering cuba merangkak data berita dari Investing.com (https://cn.investing.com/news/latest-news) ...
