Используя потоки, у меня есть основной класс (SlaveCrawler), который создает три класса (Downloader, ContentAnalyzer, URLAnalyzer), которые зависят друг от друга.
SlaveCrawler использует Downloader и URLAnalyzer
Downloader использует ContentAnalyzer и URLAnalyzer
ContentAnalyzer использует URLAnalyzer
Мне нужен только один экземпляр каждого класса. Если я использую Singleton, я могу получить это, но работая с потоками, у меня будет 20 SlaveCrawlers (пример), поэтому я хочу 20 URLAnalyzer.
Возможно ли это сделать с помощью Singleton или мне нужен другой способ?