In Java, two threads can communicate by accessing a shared variable (shared-memory model).
|
If two threads can both modify an object, that is, they can both execute a method that assigns to a shared variable, then the modifications must be synchronized.
|
This is easy - just declare the method to be synchronized!
|
This means that Java will ensure that only one thread executes the method at a time.
|
Suppose more than one thread can access an account:
-
public class Account
-
{ int bankBalance; ...
-
public synchronized void CreditAcct(int amt)
-
{ ... bankBalance += amt; ... }}
|