synchronized同步锁是为了解决线程的安全问题。可以对方法里的一部分内容上锁(同步代码块)也可以对整个方法上锁(同步方法)。
同步代码块: synchronized(临界资源对象){//原子操作}
同步方法: synchronized 返回值类型 方法名成(参数列表){//原子操作}
在线程通讯中还会用到
1).wait();(等待)方法必须 在对obj(对象)加锁的同 步代码块 (或同步方法 )中,在一个线程执行期间, 调用了obj.wait(),该线程会 释放所拥有的 锁标记。同时,进入到obj的等待队列中。等待唤醒
2).notify();、notifyAll();(唤醒)方法。必须在对obj加锁的同步代码块(或同步方法)中,从obj的Waiting(等待队列)中随机释放一个或全部线程。对自身线程无影响。