As propriedades dos meus atores Scala devem ser marcadas como @volatile?
No Scala, se eu tiver uma classe simples da seguinte maneira:
<code>val calc = actor { var sum = 0 loop { react { case Add(n) => sum += n case RequestSum => sender ! sum } } } </code>
Meu campo deveriasum
ser marcado@volatile
? Enquanto o ator estálogicamente single-threaded (ou seja, as mensagens são processadas sequencialmente), as reações individuais podem estar acontecendo em segmentos separados e, portanto, ostate
variável pode estar sendo alterada em um thread e depois ler de outro.