Встречается на собеседованиях • сегодня
Является ли список потокобезопасным
В Python список (list) не является потокобезопасным. Если несколько потоков одновременно изменяют список (например, добавляют или удаляют элементы), это может привести к повреждению данных или неожиданному поведению.
Пример проблемы:
python
import threading
shared_list = []
def add_items():
for i in range(1000):
shared_list.append(i)
threads = []
for _ in range(10):
t = threading.Thread(target=add_items)
threads.append(t)
t.start()
for t in threads:
t.join()
print(len(shared_list)) # Может быть меньше 10000
text
### Решение:
Для потокобезопасной работы используйте:
1. **`threading.Lock`**:
```python
lock = threading.Lock()
with lock:
shared_list.append(item)queue.Queue(если нужна FIFO-логика).
Для сложных сценариев рассмотрите multiprocessing.Manager().list() или специализированные структуры из collections.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы