Если ваши синглтоны неизменны, то это не приведет к снижению производительности.
Однако, как вы сказали, если в вашем коде есть параллельные (synchronized
) синглеты структуры данных, то ваша производительность будетуменьшилось по сравнению с непараллельными структурами данных.
По сути, думайте, что объекты как держатели данных с некоторыми методами на них, и теперь думайте, что у вас есть связанный список в вашем коде, и многие потоки работают одновременно и модифицируют эти связанныесписок.Как и в этом примере, ваша одноэлементная структура данных является держателем данных, и многие потоки пытаются обновить ее, и система остается согласованной с блокировками.
Короче говоря, я не думаю, что наличие синглетонов в параллельных системахбудет иметь существенное влияние на производительность, если они не содержат структуру данных, обновленную несколькими потоками.