Как я могу исправить проблему с добавлением объекта дважды в набор из-за многопоточности? - PullRequest
0 голосов
/ 08 февраля 2019

Итак, у меня возникла эта проблема с моим HashSet.

Я модифицирую его из основного потока и потока FX8, и теперь некоторые объекты были добавлены дважды.Кто-нибудь знает, как решить эту проблему?Любая помощь высоко ценится!

1 Ответ

0 голосов
/ 08 февраля 2019

HashSet s не являются потокобезопасными.В этом несколько более старом потоке хорошее обсуждение потоковобезопасных наборов: Различные типы поточно-безопасных наборов в Java

Я бы начал с того, чтобы убедиться, что вы используете поточно-безопасный Set реализации, а затем убедитесь, что ваши объекты реализуют hashcode и equals методы в соответствии с тем, что описано здесь https://www.geeksforgeeks.org/equals-hashcode-methods-java/

...