并发-同步访问共享的可变数据

来源:互联网 发布:js window.opener 编辑:程序博客网 时间:2024/06/01 07:13

关键字sychronized可以保证在同一时刻,只有一个线程可以执行某一个方法, 或者某一个代码块。当一个对象被一个线程修改的时候,可以阻止另一个线程观察到对象内部不一致的状态。当对象被创建的时候处于一致的状态。当有方法访问它的时候,它就被锁定了。这些方法可能把对象从一个状态转换到另一种一致的状态。正确地使用同步可以保证没有任何方法会看到对象处于不一致的状态中。

同步的意义:可以组织一个线程看到对象处于不一致的状态,可以保证进入同步方法或者同步代码块的每个线程,都看由同一个锁保护的之前所有的修改效果。