[Java] java Thread的wait,notify,wait,sleep简单演示代码 →→→→→进入此内容的聊天室

来自 , 2019-12-10, 写在 Java, 查看 126 次.
URL http://www.code666.cn/view/621c090c
  1. package org.he.util;
  2. /**
  3.  * @author BenSon He
  4.  * @email qing878@gmail.com ,qq 277803242
  5.  * @since 20/11/2012
  6.  */
  7. public class Test extends Thread {
  8.         Object lock = null;
  9.         boolean notifyFlag = false;
  10.  
  11.         public Test(Object lock, boolean notifyFlag) {
  12.                 this.lock = lock;
  13.                 this.notifyFlag = notifyFlag;
  14.         }
  15.  
  16.         @Override
  17.         public void run() {
  18.                 synchronized (lock) {
  19.                         System.out.println((notifyFlag == true ? "(notifyThread)" : "") + Thread.currentThread().getName()
  20.                                         + " hava in partA");
  21.                         try {
  22.                                 // Thread.sleep(10000); // A
  23.                                 if (notifyFlag)
  24.                                         lock.notifyAll();  // C
  25.                                 // lock.notify();      // B
  26.                                 else
  27.                                         lock.wait();
  28.                         } catch (InterruptedException e) {
  29.                                 e.printStackTrace();
  30.                         }
  31.                         System.out.println((notifyFlag == true ? "(notifyThread)" : "") + Thread.currentThread().getName()
  32.                                         + " hava in partB");
  33.                 }
  34.         }
  35.  
  36.         public static void main(String[] args) throws InterruptedException {
  37.                 Object lock = new Object();
  38.                 new Test(lock, false).start();
  39.                 new Test(lock, false).start();
  40.                 new Test(lock, false).start();
  41.                 Thread.sleep(10000);
  42.                 new Test(lock, true).start();
  43.         }
  44. }
  45.  
  46. //java/5717

回复 "java Thread的wait,notify,wait,sleep简单演示代码"

这儿你可以回复上面这条便签

captcha