- Python dasturlash tilida
async
vaawait
kalit so'zlari asinxron dasturlashni amalga oshirish uchun ishlatiladi. Asinxron dasturlash bir vaqtning o'zida bir nechta ishlarni bajarishga imkon beradi va ayniqsa kutilayotgan kirish-chiqish(I/O)
input-output operatsiyalari bilan ishlashda samarali hisoblanadi.
- Hisoblashda kiritish/chiqarish
(I/U, i/o yoki norasmiy io yoki IO)
kompyuter kabi axborotni qayta ishlash tizimi va boshqa kompyuter tizimi, tashqi qurilmalar yoki tashqi dunyo oʻrtasidagi aloqadir. inson operatori. Kirishlar tizim tomonidan qabul qilingan signallar yoki ma'lumotlar, chiqishlar esa undan yuborilgan signallar yoki ma'lumotlardir. Bu atama harakatning bir qismi sifatida ham ishlatilishi mumkin; "I/O
ni amalga oshirish" - kiritish yoki chiqarish operatsiyasi deb ataladi.
async
kalit so'zi funksiyani asinxron qilib belgilaydi. Bu funksiya ichida sizawait
kalit so'zidan foydalanib boshqa asinxron funksiyalarni chaqirishingiz mumkin.import asyncio async def my_async_function(): print("Started") await asyncio.sleep(1) print("Finished")
await
kalit so'zi asinxron funksiya ichida boshqa asinxron funksiyani chaqirayotganingizni bildiradi va bu operatsiya tugaguncha kutadi.async def main(): print("Before") await my_async_function() print("After") asyncio.run(main())
- Yuqoridagi misolda
await asyncio.sleep(1)
deb yozilgan, bu 1 soniya kutishni bildiradi.await
kalit so'zi yordamida bu kutish vaqti boshqa operatsiyalarni bajarishga imkon beradi.
- Asinxron funksiyalarni boshqarish uchun
asyncio
modulidan foydalaniladi. Eng ko'p ishlatiladigan usul buasyncio.run()
bo'lib, u asinxron funksiyani ishga tushiradi.import asyncio async def my_async_function(): print("Started") await asyncio.sleep(1) print("Finished") async def main(): await my_async_function() asyncio.run(main())
- Asinxron funksiyalarni
parallel
ravishda ishlatish uchunasyncio.gather()
yokiasyncio.create_task()
dan foydalanish mumkin.import asyncio async def function_1(): await asyncio.sleep(2) print("Function 1 finished") async def function_2(): await asyncio.sleep(1) print("Function 2 finished") async def main(): task1 = asyncio.create_task(function_1()) task2 = asyncio.create_task(function_2()) await task1 await task2 asyncio.run(main())
- Yuqoridagi misolda
function_1
vafunction_2
parallel ravishda ishga tushadi va kutilayotgan vaqtlari tugagach, natijalarini ko'rsatadi.
async
vaawait
kalit so'zlari asinxron dasturlashni osonlashtiradi va kutilayotgan kirish-chiqish operatsiyalari bilan samarali ishlashga imkon beradi. Bu texnologiyalarni to'g'ri qo'llash dastur performansini sezilarli darajada oshirishi mumkin.