countdownlatch如何在Web应用程序中有用?我们能得到一个实时场景吗?

时间:2015-05-17 08:24:12

标签: java

CountDownlatch在Web应用程序中有用吗?有人可以解释一个实时情景吗?

public class CountDownLatchTest {

public static void main(String[] args) {
    CountDownLatch cdlatch=new CountDownLatch(5);
    new Event(cdlatch);

    try {
        cdlatch.await();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

    System.out.println("event executed done!");

}

}

public class Event implements Runnable{

CountDownLatch cdlatch;

public Event(CountDownLatch cdlatch) {
    new Thread(this).start();
    this.cdlatch=cdlatch;
}

@Override
public void run() {
    for(int i=0;i<20;i++){
        System.out.println("event "+i);
        cdlatch.countDown();
    }

}

}

1 个答案:

答案 0 :(得分:1)

  
    

有人可以解释一个实时情景吗?

  

考虑您的网络应用程序不应该提供任何请求,直到说:

  • 您从数据库或任何外部世界实体缓存一些数据。
  • 您的所有工作线程都已启动并准备好提供请求。

完成后,只有您可以开始处理请求。在这种情况下,如果您在缓存数据之前开始处理,那么可能会发生您将使用空数据处理请求。