# `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.

Uygunluk: ne Emscripten , ne de WASI değil.

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

- Runners
- Coroutines and Tasks
- Streams
- Synchronization Primitives
- Subprocesses
- Queues
- Exceptions

Düşük seviye API'lar

- Event Loop
- Futures
- Transports and Protocols
- Policies
- Platform Support
- Extending

Rehberler ve Eğitimler

- High-level API Index
- Low-level API Index
- Developing with asyncio

Not

Asyncio için kaynak kodu Lib/asyncio/ dizininde bulunabilir.