I know that I need to use synchronization *appropriately* in order to avoid deadlocking when using multiple threads, but I was wondering:

Do I need to synchronize for both *amending the value of* and *examining* a variable, or do I just need to synchronize when I *amend* the value, but not when I *examine* the variable?