Для функции, отмеченной ключевым словом synchronized, гарантированно:
Для объекта, переданного в качестве параметра для ключевого слова synchronized внутри функции, верно:
Нужно ли опередить private Map<Address, ConcurrentLinkedQueue<Msg>> messages через ConcurrentHashMap?
Любой объект в Java может быть использован как lock для синхронного (synchronized) участка кода. Зачем?
Все абстрактные методы обязаны быть protected?
В Java можно создать свои классы и свои методы, зависящие от шаблонного типа?