Что означает интерфейс, аннотированный с помощью jsr305 ThreadSafe? - PullRequest
0 голосов
/ 13 февраля 2019
@ThreadSafe
public interface ServerInterceptor {
    ...
}

Я разрабатываю gRPC server.

Я обнаружил, что интерфейс ServerInterceptor помечен @ThreadSafe.Меня смущает эта аннотация, когда я хочу реализовать ServerInterceptor.

Означает ли это, что мне нужно обеспечить безопасность потоков реализации?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

@ ThreadSafe - это просто указание другим программистам, использующим / реализующим интерфейс / класс, что он ДОЛЖЕН быть поточно-ориентированным.Однако ничего не гарантирует.

0 голосов
/ 13 февраля 2019

Аннотирование класса / интерфейса аннотацией @ThreadSafe не означает, что класс является поточно-ориентированным.Программист должен сделать класс потокобезопасным, а затем аннотировать класс этой аннотацией.

В вашем случае с помощью аннотации интерфейс ServerInterceptor с @ThreadSafe, вероятно, означает, что человек, который будет писать класс реализации для этого интерфейса, должен сделать этот класс безопасным для потоков.

Так что это просто для удобства чтения и передачи сообщения коллеге программы о том, что человек имел в виду при написании этого интерфейса.

...