Программисты JAVA общаются здесь
-
Anonymous
Вреден ли несинхронизированный WeakHashMap?
Сообщение
Anonymous »
У меня есть такой код.
Код: Выделить всё
private static Map PATTERNS;
private static Map patterns() {
if (PATTERNS == null) {
PATTERNS = new WeakHashMap(); // ok? or should be synchronized?
}
return PATTERNS;
}
// intending to reuse those pre-compiled patters
private static Pattern pattern(final String regex) {
return patterns().computeIfAbsent(
requireNonNull(regex, "regex is null"), Pattern::compile);
}
Я уже знаю, что WeakHashMap не синхронизирован. Меня просто не волнует множественная конструкция шаблонов.
Должны ли ШАБЛОНЫ быть синхронизированы в случае многопоточной среды?
Подробнее здесь:
https://stackoverflow.com/questions/570 ... ap-harmful
1727134440
Anonymous
У меня есть такой код.
[code]private static Map PATTERNS;
private static Map patterns() {
if (PATTERNS == null) {
PATTERNS = new WeakHashMap(); // ok? or should be synchronized?
}
return PATTERNS;
}
// intending to reuse those pre-compiled patters
private static Pattern pattern(final String regex) {
return patterns().computeIfAbsent(
requireNonNull(regex, "regex is null"), Pattern::compile);
}
[/code]
Я уже знаю, что WeakHashMap не синхронизирован. Меня просто не волнует множественная конструкция шаблонов.
Должны ли ШАБЛОНЫ быть синхронизированы в случае многопоточной среды?
Подробнее здесь: [url]https://stackoverflow.com/questions/57027764/is-a-non-synchronized-weakhashmap-harmful[/url]