Да и Нет
Нет, потому что проблемы с параллелизмом - это проблемы, которые вы не можете "безопасно" избежать, играя с потоками. Рано или поздно плохие механизмы синхронизации вернутся к вам и сломают ваш прекрасный код. Вам понадобятся мьютексы, семафоры и тому подобное для охраны ресурсов.
Да, потому что синглтон - плохой шаблон для работы с потоками. Проверьте на этой странице о синглетонах , вы увидите некоторые подводные камни, связанные с этим. По сути, вы просите неприятностей.
Что касается общих понятий «синглтоны - зло», то потому, что гораздо сложнее понять, как они работают, они являются ООП-версией глобальных переменных. Предположим, что у вас есть синглтон, который модифицируется в 15 местах, как вы все это отслеживаете? Если у вас есть «реальный» объект, вы сможете увидеть, как он передается в параметрах и тому подобное. Синглтон нарушает концепцию объема и легко превращается в беспорядок.