Junior — Middle
91
Giriş-çıxış əməliyyatları ilə məhdudlaşdırılmış tapşırıqları işləmək üçün hansı həll tətbiq olunur?
Şirkətlər soruşuldu
Леста
AI-dan cavab
sobes.tech Süni İntellekt
Для обработки задач, ограниченных операциями ввода-вывода (I/O-bound), в Python часто применяют асинхронное программирование с использованием asyncio или многопоточность.
Поскольку операции ввода-вывода обычно блокируют поток, асинхронный подход позволяет запускать другие задачи, пока ожидается завершение I/O, что повышает эффективность.
Пример с использованием asyncio для чтения нескольких файлов одновременно:
import asyncio
async def read_file(filename):
print(f"Start reading {filename}")
await asyncio.sleep(1) # имитация операции ввода-вывода
print(f"Finished reading {filename}")
async def main():
await asyncio.gather(
read_file('file1.txt'),
read_file('file2.txt'),
read_file('file3.txt')
)
asyncio.run(main())
Такой подход позволяет эффективно использовать время ожидания I/O, не блокируя основной поток. Для CPU-bound задач лучше использовать многопроцессность.