java - Volatile Keyword is of no use When using synchronized? -
i trying understand use of volatile keyword in java. understand write data in main memory not in thread cache.
but useful. using multi threading ,
shouldn't using synchronized cause don't want dirty reads other threads. @ exact situation volatile can useful , important use?
please give example.
synchronized more expensive plain volatile.
volatile useful when need read/write single variable , don't care atomicity of complex structures.
synchronized useful when need perform complex operations, update several variables or set 1 variable when compared 1 , ensure atomicity of such operation. used when doing higher level synchronization such conditions, i.e. synchronized/wait/notify in java. lock/condition can used too.
Comments
Post a Comment