// TestSingleThread.kt
import java.lang.Thread.sleep
import kotlin.concurrent.thread

class Worker constructor(val name: String) {
    fun carry25boxes() {
        var counter: Int = 0
        while (true) {
            ++counter
            println("${this.name}さん、${counter}個、運びました。")
            sleep(300)
            if (counter == 25) {
                println("ノルマ達成!")
                break
            }
        }
    }
}

val w1: Worker = Worker("一郎")
val w2: Worker = Worker("二郎")
val w3: Worker = Worker("三郎")
val w4: Worker = Worker("四郎")

fun main() {
    w1.carry25boxes()
    w2.carry25boxes()
    w3.carry25boxes()
    w4.carry25boxes()
}

/*
すべて終了するのにかかった時間: 約33秒

実行結果:
一郎さん、1個、運びました。
一郎さん、2個、運びました。
一郎さん、3個、運びました。
一郎さん、4個、運びました。
一郎さん、5個、運びました。
一郎さん、6個、運びました。
一郎さん、7個、運びました。
一郎さん、8個、運びました。
一郎さん、9個、運びました。
一郎さん、10個、運びました。
一郎さん、11個、運びました。
一郎さん、12個、運びました。
一郎さん、13個、運びました。
一郎さん、14個、運びました。
一郎さん、15個、運びました。
一郎さん、16個、運びました。
一郎さん、17個、運びました。
一郎さん、18個、運びました。
一郎さん、19個、運びました。
一郎さん、20個、運びました。
一郎さん、21個、運びました。
一郎さん、22個、運びました。
一郎さん、23個、運びました。
一郎さん、24個、運びました。
一郎さん、25個、運びました。
ノルマ達成!
二郎さん、1個、運びました。
二郎さん、2個、運びました。
二郎さん、3個、運びました。
二郎さん、4個、運びました。
二郎さん、5個、運びました。
二郎さん、6個、運びました。
二郎さん、7個、運びました。
二郎さん、8個、運びました。
二郎さん、9個、運びました。
二郎さん、10個、運びました。
二郎さん、11個、運びました。
二郎さん、12個、運びました。
二郎さん、13個、運びました。
二郎さん、14個、運びました。
二郎さん、15個、運びました。
二郎さん、16個、運びました。
二郎さん、17個、運びました。
二郎さん、18個、運びました。
二郎さん、19個、運びました。
二郎さん、20個、運びました。
二郎さん、21個、運びました。
二郎さん、22個、運びました。
二郎さん、23個、運びました。
二郎さん、24個、運びました。
二郎さん、25個、運びました。
ノルマ達成!
三郎さん、1個、運びました。
三郎さん、2個、運びました。
三郎さん、3個、運びました。
三郎さん、4個、運びました。
三郎さん、5個、運びました。
三郎さん、6個、運びました。
三郎さん、7個、運びました。
三郎さん、8個、運びました。
三郎さん、9個、運びました。
三郎さん、10個、運びました。
三郎さん、11個、運びました。
三郎さん、12個、運びました。
三郎さん、13個、運びました。
三郎さん、14個、運びました。
三郎さん、15個、運びました。
三郎さん、16個、運びました。
三郎さん、17個、運びました。
三郎さん、18個、運びました。
三郎さん、19個、運びました。
三郎さん、20個、運びました。
三郎さん、21個、運びました。
三郎さん、22個、運びました。
三郎さん、23個、運びました。
三郎さん、24個、運びました。
三郎さん、25個、運びました。
ノルマ達成!
四郎さん、1個、運びました。
四郎さん、2個、運びました。
四郎さん、3個、運びました。
四郎さん、4個、運びました。
四郎さん、5個、運びました。
四郎さん、6個、運びました。
四郎さん、7個、運びました。
四郎さん、8個、運びました。
四郎さん、9個、運びました。
四郎さん、10個、運びました。
四郎さん、11個、運びました。
四郎さん、12個、運びました。
四郎さん、13個、運びました。
四郎さん、14個、運びました。
四郎さん、15個、運びました。
四郎さん、16個、運びました。
四郎さん、17個、運びました。
四郎さん、18個、運びました。
四郎さん、19個、運びました。
四郎さん、20個、運びました。
四郎さん、21個、運びました。
四郎さん、22個、運びました。
四郎さん、23個、運びました。
四郎さん、24個、運びました。
四郎さん、25個、運びました。
ノルマ達成!

Process finished with exit code 0
 */