Bermula dengan Python asyncio: Menulis kod serentak dengan cara yang elegan

王林
Lepaskan: 2024-03-04 09:20:21
ke hadapan
1034 orang telah melayarinya

Python asyncio 入门:用优雅的方式编写并发代码

Dalam dunia digital yang serba pantas hari ini, membina aplikasi responsif berprestasi tinggi adalah penting. Modul python asyncio menyediakan cara yang elegan untuk pembangun menulis kod serentak yang memanfaatkan sepenuhnya pemproses berbilang teras moden. Dengan menggunakan I/O tanpa sekatan dan gelung peristiwa, asyncio boleh mengendalikan sejumlah besar permintaan serentak tanpa mengorbankan responsif.

Apakah itu asyncio?

asyncio ialah modul perpustakaan standard Python untuk menulis kod tak segerak. Ia dibina di atas gelung acara, yang bertanggungjawab untuk menjadualkan dan memproses acara. Apabila operasi (seperti permintaan rangkaian) perlu menunggu, asyncio tidak menyekat gelung peristiwa, tetapi mendaftarkan fungsi panggil balik dan memanggil fungsi selepas operasi selesai.

Kebaikan asyncio

Terdapat beberapa faedah ketara menggunakan asyncio:

  • Concurrency: asyncio membolehkan anda menulis kod serentak walaupun tanpa multithreading atau berbilang proses. Ia menguruskan tugas yang berbeza melalui gelung acara untuk memaksimumkan penggunaan sumber.
  • I/O yang tidak menyekat: asyncio menggunakan operasi I/O yang tidak menyekat, yang bermaksud bahawa aplikasi tidak menyekat menunggu operasi I/O (seperti permintaan rangkaian).
  • Skalabiliti: Modul asyncio sangat berskala, membolehkan anda mengendalikan sejumlah besar sambungan serentak.
  • Kejelasan Kod: Kod Asyncio biasanya lebih bersih dan lebih mudah diselenggara berbanding menggunakan benang atau proses. Ini disebabkan terutamanya oleh sifat berbenang tunggal bagi gelung acara.

asyncio Bermula

Untuk menggunakan asyncio dalam projek anda, gunakan langkah berikut:

  1. Pasang modul asyncio: pip install asyncio
  2. Buat gelung acara: loop = asyncio.get_event_loop()
  3. Buat coroutine: Coroutine ialah kes khas fungsi tak segerak dalam asyncio, ditakrifkan oleh async def.
  4. Menjadualkan coroutine: loop.run_until_complete(coroutine())

Kod demo

Coretan kod berikut menunjukkan cara menggunakan asyncio untuk WEB pelayan yang mudah:

import asyncio

async def handle_request(reader, writer):
data = await reader.read(100)
message = f"Received: {data.decode()}"
writer.write(message.encode())

async def main():
server = await asyncio.start_server(handle_request, "127.0.0.1", 8888)

async with server:
await server.serve_forever()

asyncio.run(main())
Salin selepas log masuk

Dalam contoh ini, handle_request() 协程处理来自客户端的请求。main() 协程创建并启动服务器。asyncio.run(main()) 启动事件循环并运行 main() coroutine.

Kesimpulan

Modul

Python asyncio ialah alat berkuasa yang membolehkan pembangun menulis kod serentak yang memanfaatkan sepenuhnya pemproses berbilang teras. Asyncio meningkatkan prestasi aplikasi dan kebolehskalaan dengan menyediakan I/O tanpa sekatan dan gelung peristiwa. asyncio ialah sumber yang berharga untuk pembangun yang ingin membina aplikasi responsif berprestasi tinggi.

Atas ialah kandungan terperinci Bermula dengan Python asyncio: Menulis kod serentak dengan cara yang elegan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:lsjlt.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!