Spec-Zone.ru › Kotlin 1.8

Worker

kotlin-stdlib / kotlin.native.concurrent / Worker
Требования к платформе и версии: Native (1.3)
class Worker

Свойства

Требования к платформе и версии: Native (1.3)

id

val id: Int
Требования к платформе и версии: Native (1.3)

name

Имя потока, указанное в Worker.start или по умолчанию «рабочий поток $id».

val name: String
Требования к платформе и версии: Native (1.3)

platformThreadId

Получить идентификатор платформенного потока потока обработчика.

val platformThreadId: ULong

Функции

Требования к платформе и версии: Native (1.3)

asCPointer

Преобразовать поток в значение COpaquePointer, которое можно передать через указатель native void*. Может использоваться в качестве аргумента Worker.fromCPointer.

fun asCPointer(): COpaquePointer?
Требования к платформе и версии: Native (1.3)

execute

Планирование задачи для дальнейшего выполнения в потоке. Execute — это двухэтапная операция:

fun <T1, T2> execute(
    mode: TransferMode, 
    producer: () -> T1, 
    job: (T1) -> T2
): Future<T2>
Требования к платформе и версии: Native (1.3)

executeAfter

Планирование задачи для дальнейшего выполнения в потоке.

fun executeAfter(
    afterMicroseconds: Long = 0, 
    operation: () -> Unit)
Требования к платформе и версии: Native (1.3)

park

Приостановка выполнения текущего потока до момента поступления нового запроса или истечения тайм-аута, указанного в timeoutMicroseconds. Если process равно true, обрабатываются элементы очереди ожидания, включая отложенные запросы. Обратите внимание, что таким образом могут обрабатываться несколько запросов.

fun park(
    timeoutMicroseconds: Long, 
    process: Boolean = false
): Boolean
Требования к платформе и версии: Native (1.3)

processQueue

Обработка задач в очереди этого потока. Обратите внимание, что задачи, запланированные с помощью executeAfter с ненулевым тайм-аутом, не обрабатываются таким образом. Если запрос на завершение поступает во время обработки очереди через этот API, поток помечается как завершенный и выйдет из него, как только текущий запрос будет выполнен.

fun processQueue(): Boolean
Требования к платформе и версии: Native (1.3)

requestTermination

Запрос на завершение потока.

fun requestTermination(
    processScheduledJobs: Boolean = true
): Future<Unit>
Требования к платформе и версии: Native (1.3)

toString

Строковое представление потока.

fun toString(): String

Свойства объекта-компаньона

Требования к платформе и версии: Native (1.3)

activeWorkers

Получить список всех не завершенных потоков.

val activeWorkers: List<Worker>
Требования к платформе и версии: Native (1.3)

current

Возвращает текущий поток. Контекст потока доступен для любого допустимого Kotlin контекста, но только фактически активный поток, созданный с помощью Worker.start, автоматически обрабатывает запросы на выполнение. В других ситуациях для обработки очереди запросов необходимо явно вызвать processQueue.

val current: Worker

Функции объекта-компаньона

Требования к платформе и версии: Native (1.3)

fromCPointer

Создание объекта потока из указателя C.

fun fromCPointer(pointer: COpaquePointer?): Worker
Требования к платформе и версии: Native (1.3)

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API