单例模式的目的:建立唯一对象。它是利用synchronized 方法控制对类成员变量的访问,每个类实例对应一把锁,每个 synchronized 方法都必须获得调用该方法的类实例的锁方能执行。
同步代码块的格式:
synchronized(同步对象) {
需要同步的代码; }
当A、B两个并发线程访问同一个对象的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。synchronized关键字,代表这个方法加锁,相当于不管哪一个线程(例如线程A),运行到这个方法时,都要检查有没有其它线程B运行完这个方法后再运行此线程A。
|