Concorrência – Item 70

imagesDocumente a garantia de execução concorrente

A maneira de como uma classe se comporta quando suas instâncias ou métodos estáticos estão sujeitos a uso concorrente é parte importante do contrato que a classe firma com seus clientes. Se isso não for documentado, os programadores clientes serão forçados as fazer suposições que se estiverem erradas resulte em sincronização insuficiente (Item 66) ou excessiva (Item 67) ambos erros graves.  Portanto toda classe deve documentar claramente suas propriedades de garantias de execuções (Imutável, Garantia Incondicional, Garantia Condicional e Sem Garantia) cuidadosamente em prosa ou em anotação @Imutable, @ThreadSafe ou @NotThreadSafe como indicado pelo livro Java Concorrente na Prática.

Para todas as informações, veja o post inicial.

“Portanto, obedeçam a Deus e enfrentem o Diabo, que ele fugirá de vocês.” Tiago 4:7