Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengaturcaraan tak segerak Python: Mendedahkan intipati pengaturcaraan tak segerak, dari kemasukan kepada penguasaan

Pengaturcaraan tak segerak Python: Mendedahkan intipati pengaturcaraan tak segerak, dari kemasukan kepada penguasaan

WBOY
WBOYke hadapan
2024-02-26 10:01:111221semak imbas

.

Semua masalah dengan kod rangkaian boleh diselesaikan melalui asynchronous Python异步编程: 揭秘异步编程的精髓, 从入门到精通io

Anda tidak faham dengan betul bahawa kami perlu memproses data pada

Socket, kerana jika kita perlu menunggu data soket, kita boleh menggunakan IO asynchronous , kita boleh menyemak soket sebelum memanggil kaedah socket() Sama ada ia boleh digunakan untuk menghantar data, tidak perlu menunggu respons kembali kepada kami, kerana gelung tafsiran python ialah kita boleh memulangkan soket. objek serta-merta selepas menggunakan kaedah socket() sendiri, dan kemudian apabila kami menyemak sama ada soket boleh menghantar data, jika boleh, kami menggunakan kaedah send() untuk menghantar data Memerlukan sokongan soket Oleh kerana kami menggunakan soket, kami perlu lebih maju Kami perlu memastikan bahawa versi Python menggunakan modul soket kerana ini adalah blok binaan asas kami dalam perpustakaan standard python kerana modul soket memastikan kami boleh bekerja pada mana-mana sistem pengendalian yang menyokong soket Kami juga Modul soket diperlukan untuk memastikan bahawa kami boleh bekerja pada mana-mana sistem pengendalian yang disokong soket Kami juga memerlukan modul soket untuk memastikan modul soket hanya boleh digunakan apabila membuat sambungan soket sebenar . Tetapi jangan risau ini tidak akan berlaku kerana gelung penterjemah Python akan memastikan modul soket sentiasa tersedia

Soket tak segerak

Kami telah melihat mengapa kami memerlukan sokongan soket Sekarang mari lihat bagaimana soket boleh membantu kami dalam tugasan kami Seperti contoh pertama yang kami ketengahkan sebelum ini, kami mesti mengarahkan gelung penterjemah Python untuk melihat sama ada soket tersedia sebelum anda memproses soket. operasi data. kerana kita tidak perlu menunggu respons untuk kembali kepada kita kerana gelung tafsiran Python akan memastikan modul soket sentiasa tersedia gelung akan memastikan modul soket sentiasa tersedia

async dan tunggu

Gelung tafsiran Python mempunyai dua kaedah terbina dalam tak segerak dan await async mewakili tugas tak segerak Sebagai contoh, dalam contoh di atas, kita boleh menunggu sehingga sambungan selesai dan bukannya mewujudkan sambungan dengan segera kaedah terbina dalam menanti yang bertanggungjawab untuk kerja sebenar Untuk fungsi menunggu seperti contoh di atas, kita perlu memanggil kaedah connect() untuk melakukan kerja sebenar

.

Contoh

Contoh berikut menunjukkan cara menggunakan asyncio untuk membuat sambungan soket

import socket
import selectors

async def connect():
sock = socket()
sock = sock()
sel = selectors()
sel = sel()
sel = sel()
sel = sel()
sel = sel()
sel = sel()

Ringkasan IO tak segerak ialah cara untuk membantu kami melaksanakan operasi soket tanpa menunggu respons kembali kepada kami Kaedah ini menggunakan kaedah pemilih untuk memanggil kaedah connect() secara tidak segerak dan kemudian menunggu keputusan kembali melalui tunggu sebelum melakukan yang lain. kerja

Atas ialah kandungan terperinci Pengaturcaraan tak segerak Python: Mendedahkan intipati pengaturcaraan tak segerak, dari kemasukan kepada penguasaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:lsjlt.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam