Может ли list.append (foo) не быть потокобезопасным? - PullRequest
0 голосов
/ 18 декабря 2018

Я много использовал многопоточность, добавляя один и тот же список из разных тем.Все работало нормально.

Однако у меня возникает проблема с добавлением списка, когда потоки имеют размер 70 или более.Присоединение в последнем потоке застревает примерно на 5 минут (процессор не занят в это время, может быть, 10%. Так что, я бы сказал, это не проблема с оборудованием).Затем добавление происходит успешно.

По этой ссылке он говорит, что добавление в список потокобезопасно.

Мой вопрос: может ли добавление в список когда-либо стать непотокобезопасен?

Не спрашивайте код или около того.Мне просто нужно просто да или нет на мой вопрос.И если да, пожалуйста, предоставьте предложения, чтобы это исправить.

1 Ответ

0 голосов
/ 18 декабря 2018

добавление списка в python является потокобезопасным.

Ваш последний поток зависает, возможно, по другой причине, например: выделение памяти ..

Мой первый шаг для исправления зависания - использовать strace для отслеживания системного вызова.

И вы также можете использовать gdb для печати стека вызовов всех потоков.Вот вики-страница: https://wiki.python.org/moin/DebuggingWithGdb

...