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