如何使用共享锁定器等待并通知不同类的工作?

时间:2017-04-02 16:27:31

标签: java concurrency synchronized

我有两个不同的类,每个类都有自己的主要功能。通常它是一个小的发射器 - 接收器udp程序。发送器应发送一个数据包,然后等待接收者通知它(当接收者收到发送的数据包时)。

为了更好地理解这个问题,这里有两个非常简单的类,结构(每个类都有它自己的主函数并调用一个过程)应该保持不变。 所以我尝试使用共享的锁定器对象,但它仍然不起作用。

"发射机":

TemporaryFiles

"接收器"

public class one {

  public final static Object locker = new Object();

  private void method() throws Exception {
    synchronized(locker) {
      for (int i = 0; i < 10; i++) {
        System.out.println("One: "+i);
        locker.wait();
      }
    }
  }

  public static void main(String args[]) {
    try { new one().method(); }
    catch (Exception e) { e.printStackTrace(); }
  }
}

请忽略异常处理等。问题集中在等待/通知和锁定器上。

0 个答案:

没有答案