初心者用kotlin

kotlinのメモです。

1496 views

スレッドでロックして、ロックがかかっている間、待つ場合のサンプルプログラム。
withLockがミソ。

import java.util.concurrent.locks.ReentrantLock
import kotlin.concurrent.withLock

var lock = ReentrantLock()

fun subfunc() {
    var threadId = Thread.currentThread().id

    //ロックして処理開始
    lock.withLock{
        println("thread id = ${threadId} start")
        var count = 0
        for(i in 0 until 10) {
            println("thread id = ${threadId} count=${count}")
            count++
            Thread.sleep(1*1000)

        }
    }

}


fun main(args:Array<String>) {
    //スレッドを二つ作る
    var thread1 = Thread(::subfunc)
    var thread2 = Thread(::subfunc)

    //スレッドを開始する
    thread1.start()
    //Thread.sleep(1*1000)
    thread2.start()

    //スレッドの終了を待つ
    thread1.join()
    thread2.join()
}

Page 33 of 36.

前のページ 次のページ



[添付ファイル]


お問い合わせ

プロフィール

マッスル

自己紹介

本サイトの作成者。
趣味:プログラム/水耕栽培/仮想通貨/激辛好き
プログラムは趣味と勉強を兼ねて、のんびり本サイトを作っています。
フレームワークはdjango。
仮想通貨はNEMが好き。
水耕栽培は激辛好きが高じて、キャロライナ・リーパーの栽培にチャレンジ中。

サイト/ブログ

https://www.osumoi-stdio.com/pyarticle/

ツイッター

@darkimpact0626