0 امتیاز
قبل در برنامه نویسی توسط (426 امتیاز)
public class CountDown implements Runnable {
  private static int counter = 0;
  private int id = 0;
  private int a, b, result;
  private long time = 0;
  private boolean done = false;

  public CountDown(int a, int b, long time) {
    this.a = a;
    this.b = b;
    this.time = time;
  }

  public CountDown() {
    this.id = ++counter;
  }

  @Override
  public void run() {
    try {
      TimeUnit.SECONDS.sleep(time);
      this.result = a + b;
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
    this.done = true;
    synchronized (this) {
      this.notify();
    }
  }

  public Integer getResult() {
    if (!done) {
      try {
        synchronized (this) {
          System.out.println("Who : " + Thread.currentThread().getName());
          this.wait();
        }
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
    return result;
  }
}

 

سوالات مشابه

+1 امتیاز
1 پاسخ 825 بازدید
+2 امتیاز
2 پاسخ 3.0هزار بازدید
0 امتیاز
2 پاسخ 749 بازدید
0 امتیاز
1 پاسخ 421 بازدید
0 امتیاز
0 پاسخ 410 بازدید
0 امتیاز
0 پاسخ 404 بازدید
0 امتیاز
0 پاسخ 365 بازدید
+1 امتیاز
0 پاسخ 365 بازدید
+2 امتیاز
1 پاسخ 793 بازدید
سوال شده 7 سال قبل در برنامه نویسی توسط kapitan (25 امتیاز)
0 امتیاز
0 پاسخ 316 بازدید
...