执行Thread队列

时间:2012-09-06 18:08:12

标签: java multithreading runnable

我需要执行一个线程队列。我需要只执行一个线程,然后将其他线程放入队列中,当前线程完成后,我需要传递给队列中的第一个。

我需要在我的JTable上实现实时搜索。该表包含50.000行,因此没有这种方法,性能非常糟糕。我不知道如何实现它。有人可以帮帮我吗?谢谢!

2 个答案:

答案 0 :(得分:9)

使用Executor中的单线程Executors.newSingleThreadExecutor()。您可以将Runnable个对象的作业传递给Executor,让它为您完成工作。

private final Executor executor = Executors.newSingleThreadExecutor();

public void doSomethingWith(final Object obj) {
    executor.execute(new Runnable() {

        public void run() {
            // Do something with obj
        }
    });
}

将您希望在run方法中一次运行一次的代码放入。

答案 1 :(得分:0)

来自SingleThreadExecutor

java.util.concurrency就是您问题的答案......

- 螺纹尺寸为1 ....

- 首先完成第一项任务,然后再转到第二项

- 它维护自己的隐藏队列,以便随时跟踪任务的跟踪......