スレッドのキューを実行する必要があります。実行中のスレッドを 1 つだけにしてから、他のスレッドをキューに入れる必要があります。現在のスレッドが完了したら、キューの最初のスレッドに渡す必要があります。
JTable にライブ検索を実装するには、それが必要です。テーブルには 50.000 行が保持されるため、この方法を使用しないとパフォーマンスが非常に悪くなります。実装方法がわかりません。誰でも私を助けることができますか?ありがとう!
スレッドのキューを実行する必要があります。実行中のスレッドを 1 つだけにしてから、他のスレッドをキューに入れる必要があります。現在のスレッドが完了したら、キューの最初のスレッドに渡す必要があります。
JTable にライブ検索を実装するには、それが必要です。テーブルには 50.000 行が保持されるため、この方法を使用しないとパフォーマンスが非常に悪くなります。実装方法がわかりません。誰でも私を助けることができますか?ありがとう!
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
}
});
}
一度に 1 回実行するコードをrun
メソッドに入れます。
SingleThreadExecutor
からjava.util.concurrency
あなたの質問への答えです...
-スレッドサイズは1です。
-2番目に移動する前に、最初に1番目のタスクを完了します。
-それはそれと一緒に残っているタスクの追跡を維持するためにそれ自身の隠されたキューを維持します...