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

Какой опыт работы с потоками

Да, есть. В Python для работы с потоками используется модуль threading. Потоки позволяют выполнять задачи параллельно, но из-за GIL (Global Interpreter Lock) они не подходят для CPU-bound задач. Лучше использовать их для I/O-bound задач, например, работы с сетью или файлами.

Пример:

python
import threading
import time

def task(name):
    print(f"Task {name} started")
    time.sleep(2)
    print(f"Task {name} finished")

threads = []
for i in range(3):
    t = threading.Thread(target=task, args=(i,))
    threads.append(t)
    t.start()

for t in threads:
    t.join()

print("All tasks completed")

Для более сложных сценариев можно использовать ThreadPoolExecutor из concurrent.futures:

python
from concurrent.futures import ThreadPoolExecutor

def square(x):
    return x * x

with ThreadPoolExecutor(max_workers=3) as executor:
    results = executor.map(square, [1, 2, 3])
    print(list(results))  # [1, 4, 9]
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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