ProgressBar和多线程javafx

时间:2017-09-13 21:51:57

标签: java multithreading progress-bar

我有应用程序搜索页面并获得指定数量的链接。 每个链接由单独的线程检索。 这个简单的代码执行此操作:

    public class GetLinkThread implements Runnable {
    public int page;
    public GetLinkThread(int page) {
        this.page = page;
    }
    @Override
    public void run() {
        try {
            Parser.parseAndAddLinkToSet(page);//this method get links from sites and save to set
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

parseAndAddLinkToSet(int page)方法是String root = "www.example.com/" + page;,因此我只发送要抓取链接的页码。

我跑了这个:

ExecutorService executorService = Executors.newCachedThreadPool();
    for(int i = 1 ; i < 4 ; i++){//in this case I run 3 threads
        executorService.execute(new GetLinkThread(i));
    }
    executorService.shutdown();
    executorService.awaitTermination(1, TimeUnit.HOURS);

我想制作进度条,下载链接时会显示给定线程当前正在下载的链接。 我可以制作progressBar,但我不知道如何使progressBar在后台和另一个线程中运行。

所以我的问题是,如何在我的应用程序中添加progressBar?在我抓取页面并显示当前页面时运行的ProgressBar?

0 个答案:

没有答案