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

Что такое многопоточность

Многопоточность — это возможность выполнения нескольких потоков в рамках одного процесса. Потоки разделяют общую память, что позволяет им эффективно обмениваться данными, но требует синхронизации для избежания гонок.

В Python используется GIL (Global Interpreter Lock), который ограничивает выполнение только одного потока в момент времени, несмотря на наличие нескольких ядер. Это делает многопоточность полезной в основном для I/O-bound задач (например, сетевые запросы), но не для CPU-bound задач.

Пример с threading:

python
import threading

def worker():
    print("Поток работает")

threads = []
for _ in range(5):
    t = threading.Thread(target=worker)
    threads.append(t)
    t.start()

for t in threads:
    t.join()

Для CPU-bound задач лучше использовать multiprocessing, так как он создает отдельные процессы с собственным GIL.

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

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

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

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