Встречается на собеседованиях • сегодня
Есть ли опыт работы с многопоточностью
Да, есть опыт работы с многопоточностью в Python. Основные модули: threading для потоков и multiprocessing для процессов.
Пример с threading:
python
import threading
def worker(num):
print(f"Поток {num} запущен")
threads = []
for i in range(3):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()
text
**Особенности:**
- В Python есть GIL (Global Interpreter Lock), который ограничивает параллельное выполнение потоков для CPU-bound задач.
- Для CPU-bound задач лучше использовать `multiprocessing`.
- Для I/O-bound задач (сеть, файлы) `threading` подходит хорошо.
- Важно синхронизировать доступ к общим ресурсам через `Lock`, `Semaphore` и т.д.
Пример с `Lock`:
```python
lock = threading.Lock()
def safe_increment():
with lock:
global counter
counter += 1
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы