af9252aa96
* Explain what obsolete means and why workers are obsolete * Add some documentation to workers to explain its common pitfalls ^KT-54702 Merge-request: KT-MR-9563 Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
28 lines
684 B
Kotlin
28 lines
684 B
Kotlin
@file:OptIn(kotlin.ExperimentalStdlibApi::class, ObsoleteWorkersApi::class)
|
|
|
|
import kotlin.native.concurrent.*
|
|
import kotlin.test.*
|
|
import workerSignals.*
|
|
|
|
const val defaultValue = 0
|
|
const val newValue = 42
|
|
|
|
fun main() {
|
|
setupSignalHandler()
|
|
|
|
withWorker {
|
|
val before = execute(TransferMode.SAFE, {}) {
|
|
getValue()
|
|
}.result
|
|
assertEquals(defaultValue, getValue())
|
|
assertEquals(defaultValue, before)
|
|
|
|
signalThread(platformThreadId, newValue)
|
|
val after = execute(TransferMode.SAFE, {}) {
|
|
getValue()
|
|
}.result
|
|
assertEquals(defaultValue, getValue())
|
|
assertEquals(newValue, after)
|
|
}
|
|
}
|