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

Есть ли опыт работы с многопоточностью

Да, есть опыт работы с многопоточностью в 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
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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