Junior — Middle
92
Кадом усулҳоро барои назорати миқдори ҷараёнҳо ё вазифаҳои ҳамзамон иҷрошаванда дар вақти дастрасӣ ба манбаъ дар давраи муайян истифода бурда мешавад?
Ҷавоб аз AI
sobes.tech AI
В Python для контроля количества одновременно выполняющихся потоков или задач при доступе к ресурсу часто используют:
- Semaphore из модуля
threadingилиasyncio— ограничивает число одновременно работающих потоков или корутин. - ThreadPoolExecutor или ProcessPoolExecutor из модуля
concurrent.futures— управляют пулом потоков или процессов. - asyncio.BoundedSemaphore — для асинхронного кода.
Пример с семафором:
import threading
semaphore = threading.Semaphore(3) # максимум 3 потока одновременно
def task():
with semaphore:
# доступ к ресурсу
pass
Такой подход позволяет ограничить параллелизм и избежать перегрузки ресурса.