package shixunTest; /* * 1ã主线ç¨åå线ç¨ä¼ å¼ï¼æé 彿° * 2.å线ç¨å主线ç¨ä¼ å¼ï¼çº¿ç¨äº¤äºï¼waitï¼ï¼ånotify(),notifyAll()æºå¶ * 使ç¨waitånotifyå¿ é¡»å¨åæ¥ç¯å¢ä¸ï¼å¿ é¡»ææåä¸ä¸ªå¯¹è±¡çéï¼éè¿åä¸ä¸ªå¯¹è±¡ç鿥è¿è¡å¤é * notifyï¼ï¼ï¼éç¥å仿æåä¸ä¸ªå¯¹è±¡éç被waitï¼ï¼ç线ç¨ï¼è§£é********************* * èªå¨è§£é****************this.notify()ææå½å对象çé * ææéå½å对象é*****ä¸å®è¦obj.notify() * * * sleep():æ¶é´ç»æåï¼çº¿ç¨èªå¨è§£é * wait()ï¼ä¸å®è¦å»å¤é * */ public class ThreadPoolBase { public static void main(String[] args) { CountRunnable cRunnable=new CountRunnable(); Thread thread1=new Thread(cRunnable); thread1.start(); synchronized (cRunnable) { try { cRunnable.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println("æç»ç»æï¼"+cRunnable.getSum()); } } class CountRunnable implements Runnable{ int sum; public void setSum(int sum) { this.sum = sum; } public int getSum(){ return this.sum; } @Override public void run(){ synchronized (this) { this.notify(); for(int i=0;i