Worker
class Worker
Свойства
id
val id: Int
name
Имя потока, указанное в Worker.start или по умолчанию «рабочий поток $id».
val name: String
platformThreadId
Получить идентификатор платформенного потока потока обработчика.
val platformThreadId: ULong
Функции
asCPointer
Преобразовать поток в значение COpaquePointer, которое можно передать через указатель native void*. Может использоваться в качестве аргумента Worker.fromCPointer.
fun asCPointer(): COpaquePointer?
execute
Планирование задачи для дальнейшего выполнения в потоке. Execute — это двухэтапная операция:
fun <T1, T2> execute( mode: TransferMode, producer: () -> T1, job: (T1) -> T2 ): Future<T2>
executeAfter
Планирование задачи для дальнейшего выполнения в потоке.
fun executeAfter( afterMicroseconds: Long = 0, operation: () -> Unit)
park
Приостановка выполнения текущего потока до момента поступления нового запроса или истечения тайм-аута, указанного в timeoutMicroseconds. Если process равно true, обрабатываются элементы очереди ожидания, включая отложенные запросы. Обратите внимание, что таким образом могут обрабатываться несколько запросов.
fun park( timeoutMicroseconds: Long, process: Boolean = false ): Boolean
processQueue
Обработка задач в очереди этого потока. Обратите внимание, что задачи, запланированные с помощью executeAfter с ненулевым тайм-аутом, не обрабатываются таким образом. Если запрос на завершение поступает во время обработки очереди через этот API, поток помечается как завершенный и выйдет из него, как только текущий запрос будет выполнен.
fun processQueue(): Boolean
requestTermination
Запрос на завершение потока.
fun requestTermination( processScheduledJobs: Boolean = true ): Future<Unit>
toString
Строковое представление потока.
fun toString(): String
Свойства объекта-компаньона
activeWorkers
Получить список всех не завершенных потоков.
val activeWorkers: List<Worker>
current
Возвращает текущий поток. Контекст потока доступен для любого допустимого Kotlin контекста, но только фактически активный поток, созданный с помощью Worker.start, автоматически обрабатывает запросы на выполнение. В других ситуациях для обработки очереди запросов необходимо явно вызвать processQueue.
val current: Worker
Функции объекта-компаньона
fromCPointer
Создание объекта потока из указателя C.
fun fromCPointer(pointer: COpaquePointer?): Worker
start
Запустить новую планирующую примитивную структуру, такую как поток, для приема новых задач через execute интерфейс. Как правило, новый рабочий поток может потребоваться для выгрузки вычислений на другой процессор, для ввода-вывода может быть лучше использовать асинхронный ввод-вывод в сочетании с более легкими корутинами.
fun start( errorReporting: Boolean = true, name: String? = null ): Worker
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.native.concurrent/-worker/index.html