タグ

java.util.concurrentに関するrikima3132のブックマーク (2)

  • 7. java.util.concurrentパッケージ (2)

    concurrentパッケージに存在する多くの実装インスタンスは、ExecutorServiceインタフェースを実装しています。 7.3. スレッドプール スレッドプールとはタスクをキューに追加し、プールしておいたスレッドにより、順次タスクを処理していくマルチスレッドの形式の一つです。 必要以上にスレッドを作成しないために、リソースの無駄な消費を抑えるメリットがあります。 Executorsクラスの中で、スレッドプールを可能にしているクラスを返すメソッドについて解説します。 newSingleThreadExecutor() 単一のスレッドで送信されたタスクを実行するExecutorを作成します。 Executorが終了した後もタスクが残っていれば処理を続行します。 import java.util.concurrent.ExecutorService; import java.util.

  • Timerを使う。周期的に実行したり、一定時間後に実行したり

    javax.swing.Timer Swingのクラスライブラリの1つとして提供されている。一定時間後にイベントを実行することができる。これは、Swingのイベントスレッドで実行されるので、描画に関わる処理を記述していてもSwingスレッドと干渉しないで済むのがメリット。実行はSwingのイベントキューに載せられるため、正確性には欠ける。 java.util.Timer 汎用のタイマとして提供されている。処理を周期的に実行したり、一定時間経過後に実行したり、指定した日時に実行したりと多彩な機能を持つ。Swingとは無関係なので、ヘッドレス(GUIが無い環境)でも使用できる。Timer専用スレッドで管理され、正確性もjavax.swing.Timerよりは高い。しかし、java.util.Timerの実装上欠点がいくつかある。まず、スケジューリングにシステムクロックを使用するので、システムク

  • 1