Встречается на собеседованиях • сегодня

С чем кооперируется кооперативная многозадачность

Кооперативная многозадачность кооперируется с самими приложениями (или потоками выполнения). В отличие от вытесняющей многозадачности, где ОС принудительно переключает контекст, здесь каждый процесс добровольно отдает управление.

Пример на Python с генераторами (классический кооперативный подход):

python
def task1():
    for i in range(3):
        print("Task 1")
        yield

def task2():
for i in range(3):
print("Task 2")
yield

tasks = [task1(), task2()]
while tasks:
for task in tasks[:]:
try:
next(task)
except StopIteration:
tasks.remove(task)

text

Ключевые моменты:
- Управление передается явно (через `yield`, `await` и т.д.)
- Требует дисциплины от разработчика
- Используется в asyncio, старых версиях Windows (16-bit), ранних веб-серверах
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы