1
resposta

O que é transient e quando usar

Ola, analisando a documentacao do clojure li sobre transient. Alguem sabe quando devo usar e como me proteger de concorrencia no uso ? https://clojure.org/reference/transients

1 resposta

Se o seu código precisar ter um alto desempenho, os transient são uma otimização em estruturas de dados persistentes que pode ajudar.

Um requisito importante sobre transients: "Transients require thread isolation". Como cada resultado de uma operação transient compartilha a estrutura (mutável) com a anterior, é um erro se mais de um encadeamento manipular um transient ao mesmo tempo. O uso de uma instância transient específica deve ser controlado usando-o em um escopo de thread único ou em uma estrutura que imponha isso.