merlimat commented on pull request #10583:
URL: https://github.com/apache/pulsar/pull/10583#issuecomment-840944024


   > As I have mentioned earlier, if two threads are both reading and writing 
to a shared variable, then using the volatile keyword for that is not enough. 
You need to use a synchronized in that case to guarantee that the reading and 
writing of the variable is atomic. Reading or writing a volatile variable does 
not block threads reading or writing. For this to happen you must use the 
synchronized keyword around critical sections.
   
   The `volatile` qualifier will guarantee that other threads will read the 
latest value of that variable. Also note that in this case there's just 1 
single thread writing it.
   
   We don't have code in there (for this variable) that reads the value, does 
something and writes it back.
   
   The only addition that `AtomicReference` would give is to do 
`compareAndSet()` on the variable reference. But we're not needing it for 
`lastConfirmedEntry`


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to