那取款机来说,如果它为每个帐户提供一个取钱方法和一个存钱方法,然后假设一个你和某个人同时用一个帐号去取款,这时如果存钱和取钱方法不实现synchronized的话很能你刚进去这个取钱方法里然后你的线程在cpu的时间到了轮换到另一个取钱的人,他也进入了这个方法,这样就有可能你们俩个都能用一个帐号取出钱来.当然如果那个帐号里面只有500大洋而你们俩个又同时取500的话是木有问题的.这样银行可定就亏了.所以类似这样的方法在多线程中就要用synchronized或用Lock 去实现同步 这样 如果一个线程进入了取钱方法中在轮换到其他线程时,那个线程就进不去这个方法直道进取方法的那个线程运行完.所以这样才能安全 |