一定間隔で処理を行う

今回はポンコツ2人組がKotlinで一定間隔で処理を行うプログラムに挑戦してみました! このような処理はたまに使うことがあるので覚えておきましょう。

※この記事は2023/11/3時点の情報です。

TimerとTimerTask
1分間隔でコンソールに出力するサンプルプログラムです。 このプログラムでは、TimerとTimerTaskを使用して1分ごとに指定されたタスクを実行します。

import java.util.*

fun main(args: Array<String>) {
    val timer = Timer()

    val task = object : TimerTask() {
        override fun run() {
            // ここに実行したい処理を記述します
            println("1分経ちました")
        }
    }

    val delay: Long = 0 // 最初の実行までの遅延時間
    val period: Long = 1 * 60 * 1000 // 1分をミリ秒に変換

    // タスクをスケジュール
    timer.scheduleAtFixedRate(task, delay, period)
}

処理結果は次の通りです。

1分経ちました
1分経ちました


Timerクラスは、指定された時間間隔でタスクを実行するためにバックグラウンドスレッドを使用します。 なので、メインの実行フローとは別のスレッドで1分ごとのタスクが実行されます。 これにより、メインスレッドはプログラムの他の処理を行いながら、指定されたタスクを定期的に実行することが可能です。
今回の一定間隔で処理を行うプログラムは理解できましたか?

Kotlinのラムダ式と型推論を覚えられましたか?

この処理は知っておいて損は無いので頑張って勉強しましょうね!

管理人情報