Балансировщик нагрузки не может быть очень эффективным, если одновременно работает более одного из них. Если один балансировщик нагрузки назначает работу устройству, затем появляется другой балансировщик и назначает работу тому же устройству, система может легко выйти из равновесия. Многочисленные балансировщики нагрузки должны были бы общаться друг с другом, чтобы выполнять свою работу. Проще и эффективнее иметь один экземпляр балансировщика.
Другим примером приложения, которое вызывает Singleton, является программный модуль, работа которого заключается в том, чтобы общаться с устройством через последовательный порт. Недавно я реализовал класс для связи с контроллером двигателя, и я хотел быть уверен, что только один класс имеет доступ к последовательной линии. Реализация этого класса как Singleton гарантировала, что два экземпляра никогда не будут созданы, избегая конфликта на последовательной линии.