多线程的同步
多线程同步可以使用synchronized关键字实现 当synchronized关键字修饰一个方法时,就叫同步方法 当synchronized方法执行完或发生异常,会自动释放锁
package com.cs; public class Test { public static void main(String[] args) { DinnerWindows d = new DinnerWindows(); d.setName("一号窗口:"); DinnerWindows w = new DinnerWindows(); w.setName("二号窗口:"); d.start(); w.start(); } } package com.cs; public class DinnerWindows extends Thread{ private static int count =50; public void run(){ sell(); } synchronized public void sell(){ while (count>0) { count--; System.out.println("当前窗口:"+Thread.currentThread().getName()+"剩余:"+count+"份"); } try { Thread.sleep(20); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }