都说synchronized用于同步线程..可具体什么时候要同步.为什么.
如果有一块代码(或方法)可能被多个线程同时访问,然后里面操作的数据修改操作可能因为不同线程的操作而不一致的时候,使用synchronized锁定这块代码,确保同时只有一个线程访问这个代码块。
当你涉及当状态的时候,比如说,购物车吧,这个是不能混淆的,这个需要使用synchronized可以防止被别人访问
除了以上各位的解释外。
最本质的理解是。
synchronized
只要是声明了同步的方法。或者代码块。
在任意时刻 只有一个人访问。
需要同步 是为了数据的安全。
如果同一块内存 被多条同时操作的时候。
哪么,就有可能出现脏数据,这个时候 就要同步。限制为排队一个个来操作。
就好比你称水果 如果与别人共用以个袋子, 你自己到底买了多少水果你基本不会知道。
所以得排队来 一个称完在接一个
synchronized 是为了同步来确保数据的安全,说白了,就是同一时刻只允许一个线程来执行该方法,其它线程只有当它执行完了才能执行此方法
是一实现线程同步策略