线程同步
当两个或多个线程共用同一批数据时,可能发生混乱比如,当一个线程需要处理一批账单,如果另一个线程也要处理相同的账单,可能会出现混乱的局面这时,需要进行线程同步的处理线程同步的关键字是synchronized一个方法使用关键字synchronized修饰后,如果某个线程获得CPU的使用权去使用该方法,CPU会让它执行完同步方法中的所有任务在这期间,CPU不会把时间片分配给其他也要使用同步方法的线程
在同步方法中使用wait()
1.当一个线程使用的同步方法中用到某个变量,而此变量又需要其它线程修改后才能符合本线程的需要,那么可以在同步方法中使用wait()方法
2.使用wait()方法可以使本线程等待,暂时让出CPU的使用权,并允许其它线程使用这个同步方法
在同步方法中使用notify()和notifyAll()
1.其它线程如果在使用同步方法时不需要等待,那么它使用完这个同步方法后,应当用notifyAll()方法通知所有的由于使用这个同步方法而处于等待的线程结束等待
2.如果使用notify(),是通知处于等待中的线程的某一个结束等待