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

Какой тип многозадачности самый безопасный

В Python самым безопасным типом многозадачности является многопоточность с использованием GIL (Global Interpreter Lock) или асинхронное программирование, так как они работают в одном процессе и избегают проблем с разделяемой памятью. Однако для CPU-задач лучше использовать multiprocessing, так как он обходит GIL, но требует осторожности при работе с разделяемыми ресурсами.

Пример с потоками:

python
import threading

def task():
    print("Выполняется в потоке")

thread = threading.Thread(target=task)
thread.start()
thread.join()

Для асинхронности:

python
import asyncio

async def task():
    print("Асинхронная задача")

asyncio.run(task())

Для CPU-задач:

python
from multiprocessing import Process

def task():
    print("Выполняется в процессе")

process = Process(target=task)
process.start()
process.join()

Выбор зависит от задачи: I/O-bound — потоки/асинхронность, CPU-bound — процессы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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