на этот вопрос - надо бы задачу нормально сформулировать, а тут 2 решения - так себе и неработающее)
прошлый опыт создания хитрожопых графов а-ля "давайте в памяти изобразим поток вычисления" говорит, что
1) вложения и рекурсия - опасны для таких задач
2) syncronized - будет тормозить на кейсах от сотенки итемов (на 2 не будет, на 10 не факт)
3) хочешь счастья - сформулируй задачу без безопасной защищенной многопоточной коллекции в середине всего алгоритма
4) полезные слова - лок и volitile. Лок полезен раз в 20 чаще, чего его используют, но при неправильном использовании он отстреливает ногу по колено. volitile наоборот весьма безопасен, но не всегда через него удобно (особенно на коллекциях)
> 2) syncronized - будет тормозить на кейсах от сотенки итемов (на 2 не будет, на 10 не факт) Поподробнее этот пункт можно? Сотенки чего конкретно? Инстансов А? > 3) хочешь счастья - сформулируй задачу без безопасной защищенной многопоточной коллекции в середине всего алгоритма Если не в многопоточную коллекцию, то куда мемоизировать?
Обсуждают сегодня