无法导入java.util.concurrent.CountDownLatch

时间:2014-06-04 06:50:34

标签: java eclipse

我正在使用Eclipse Kepler。当我尝试使用java.util.concurrent.CountDownLatch时,它显示无法导入的错误。我不知道如何检查这个类是否存在于Java库中。也许因为这个类不存在,Eclipse无法导入这个类。 请告诉我如何检查这个库的存在。如果不存在,如何将类添加到现有库。

我已经纠正了错误,以下是工作代码。我已经用java.util.concurrent.CountDownLatch替换了每个CountDownLatch。因此,现在我根本不需要导入java.util.concurrent.CountDownLatch包。 但是我想了解为什么eclipse无法导入这个包。

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;

class Runner4 implements Runnable {
    private java.util.concurrent.CountDownLatch latch;
    private int i;

    public Runner4(java.util.concurrent.CountDownLatch latch, int i) {
        this.latch = latch;
        this.i = i;
    }

    public void run() {
        System.out.println("In thread " + i);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        latch.countDown();
    }
}

public class CountDownLatch {
    public static void main(String args[]) {
        java.util.concurrent.CountDownLatch latch = new java.util.concurrent.CountDownLatch(
                1);

        ExecutorService executor = Executors.newFixedThreadPool(1);
        for (int i = 1; i < 4; i++)
            executor.submit(new Runner4(latch, i));

        try {
            executor.awaitTermination(3, TimeUnit.SECONDS);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        executor.shutdown();
    }
}

感谢您

1 个答案:

答案 0 :(得分:0)

在eclipse窗口中按 Ctrl + Shift + T 。输入类名“CountDownLatch”。如果它出现在您的工作区中,它将显示,如果不升级您的Java版本。