• import asyncio

    async def görev_1():
    print("görev 1 başlıyor...")
    await asyncio.sleep(2) # 2 saniye bekle
    print("görev 1 tamamlandı!")
    return "görev 1 sonucu"

    async def görev_2():
    print("görev 2 başlıyor...")
    await asyncio.sleep(1) # 1 saniye bekle
    print("görev 2 tamamlandı!")
    return "görev 2 sonucu"

    async def main():
    # görevleri aynı anda çalıştır
    sonuçlar = await asyncio.gather(
    görev_1(),
    görev_2()
    )
    print(f"tüm görevler tamamlandı. sonuçlar: {sonuçlar}")

    # asenkron kodu çalıştır
    asyncio.run(main())

    görev_1 ve görev_2 adlı iki asenkron fonksiyon tanımadık.

    her biri belirli bir süre bekleyecek (asyncio.sleep), tamamlandığını bildirecek ve bir sonuç döndürecek.

    main fonksiyonu içinde asyncio.gather kullanılarak her iki görevi aynı anda başlatıyoruz ve sonuçları topluca bekliyoruz.

    asyncio.run(main()) ile asenkron main fonksiyonu çalıştırabiliriz.

    sonuç olarak, görev_2 1 saniye sonra tamamlanır ve görev_1 2 saniye sonra tamamlanır. yani biri diğerini beklemez. işte buna asenkron denir.

    yani bir işlemin diğer işlemlerle aynı anda başlamadan, bitişine kadar beklemeden veya sonuçlarını beklemeden devam etmesi anlamına gelir.