asyncio
— Eşzamansız I/O¶
asyncio async/await sözdizimini kullanarak eş zamanlı kod yazmak için kullanılan bir kütüphanedir.
asyncio yüksek performanslı ağ ve web sunucuları , veritabanı bağlantı kütüphaneleri , dağıtık görev kuyrukları vb. pek çok Python eş zamanlı çatısı için bir temel olarak kullanılmıştır.
asyncio, IO ağırlıklı ve yüksek seviyeli yapılandırılmış ağ kodu için genellikle mükemmel bir seçimdir.
asyncio aşağıdakiler için bir takım yüksek seviyeli API’lar sağlar:
Python coroutine’lerini eş zamanlı olarak çalıştırın ve yürütmeleri üzerinde tam kontrole sahip olun;
ağ IO ve IPC gerçekleştirimi;
alt işlemlerin kontrolü;
kuyruklar aracılığı ile görevlerin dağıtımı;
eş zamanlı kodun senkronize edilmesi;
Ek olarak , kütüphane ve dil çatısı geliştiricileri için düşük seviyeli API’lar bulunmaktadır:
ağ, alt işlemler çalıştırmak, işletim sistemi sinyallerini işlemek vb. işlemler için asenkron API’ler sağlayan olay döngüleri oluşturun ve yönetin;
aktarımları kullanarak verimli protokoller uygulayın ;
geribildirim tabanlı kütüphane ve kodları köprüleyerek async/await sözdizimi ile birleştirin.
Availability: not WASI.
This module does not work or is not available on WebAssembly. See WebAssembly platformları for more information.
asyncio REPL
You can experiment with an asyncio
concurrent context in the REPL:
$ python -m asyncio
asyncio REPL ...
Use "await" directly instead of "asyncio.run()".
Type "help", "copyright", "credits" or "license" for more information.
>>> import asyncio
>>> await asyncio.sleep(10, result='hello')
'hello'
Raises an auditing event cpython.run_stdin
with no arguments.
3.12.5 sürümünde değişti: (also 3.11.10, 3.10.15, 3.9.20, and 3.8.20) Emits audit events.
3.13 sürümünde değişti: Uses PyREPL if possible, in which case PYTHONSTARTUP
is
also executed. Emits audit events.
Referans
Not
Asyncio için kaynak kodu Lib/asyncio/ dizininde bulunabilir.