2015-04-11 2 views
0

Я создаю подкласс SimpleChannelInboundHandler, который не содержит состояния и полностью является потоковым. Мне интересно, можно ли сделать это Sharable? Документы, похоже, молчат по этому вопросу, и, хотя было бы неплохо повторно использовать объект, я бы предпочел не столкнуться с неприятными условиями гонки позже.Может ли подкласс NetChannelInboundHandler быть совместимым?

+1

Я думаю, что неспособность использовать совместное использование - это особый случай, и по умолчанию это всегда возможно. Вы можете увидеть [исходный код] (https://github.com/netty/netty/blob/master/transport/src/main/java/io/netty/channel/SimpleChannelInboundHandler.java), он не хранит никаких информацию, которая может вызвать проблемы. – Bubletan

ответ

2

Да, это сохранить, чтобы сделать подклассы @Sharable, пока не существует состояния, которое вы сохраняете в подклассе, и которое не является потокобезопасным.