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 Emscripten, not WASI.
Bu modül wasm32-emscripten
ve wasm32-wasi
WebAssembly platformları üzerinde çalışmaz veya mevcut değildir. Daha fazla bilgi için WebAssembly platformları bölümüne bakınız.
asyncio REPL
REPL üzerinde asyncio
ile eşzamanlı bağlamda denemeler yapabilirsiniz:
$ 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.
Referans
Yüksek seviye API'lar
Düşük seviye API'lar
Rehberler ve Eğitimler
Not
Asyncio için kaynak kodu Lib/asyncio/ dizininde bulunabilir.