Package-level declarations

挂起函数转换注解与策略。

挂起函数转换注解与策略。

挂起函数转换注解与策略。

Types

Link copied to clipboard

提供一个用于阻塞调用的调度器的供应商。

Link copied to clipboard

提供一个用于阻塞调用的调度器的供应商。

对 RejectedExecutionException 的扩展, 当 DefaultBlockingDispatcher 将会在追加任务被拒绝时抛出此异常并携带 runnable 和 executor 信息供于外部用户捕获并处理.

Link copied to clipboard
interface InvokeStrategy<T, R>
Link copied to clipboard
class Reserve<out T>(scope: CoroutineScope, context: CoroutineContext, block: suspend () -> T)

A class representing a coroutine-based reserve.

Link copied to clipboard

使用在 runBlocking 或相关函数中,用于将运行其中的函数所抛出的函数捕获并包装。

Link copied to clipboard

阻塞API所使用的执行策略。

Link copied to clipboard

无作用域的阻塞API所使用的执行策略。

Link copied to clipboard
typealias ST = SuspendTrans

Suspend Trans 的简写类型。

Link copied to clipboard

Suspend Trans Property 的简写类型。

Link copied to clipboard
annotation class SuspendTrans(val blockingBaseName: String = "", val blockingSuffix: String = "Blocking", val blockingAsProperty: Boolean = false, val asyncBaseName: String = "", val asyncSuffix: String = "Async", val asyncAsProperty: Boolean = false, val reserveBaseName: String = "", val reserveSuffix: String = "Reserve", val reserveAsProperty: Boolean = false, val reactiveBaseName: String = "", val reactiveSuffix: String = "Reactive", val reactiveAsProperty: Boolean = false)

用于为同一个 suspend 声明同时生成 blocking / async / reserve / reactive 等多种桥接 API 的整合性注解。

Link copied to clipboard
annotation class SuspendTransProperty(val blockingBaseName: String = "", val blockingSuffix: String = "", val blockingAsProperty: Boolean = true, val asyncBaseName: String = "", val asyncSuffix: String = "Async", val asyncAsProperty: Boolean = true, val reserveBaseName: String = "", val reserveSuffix: String = "Reserve", val reserveAsProperty: Boolean = false, val reactiveBaseName: String = "", val reactiveSuffix: String = "Reactive", val reactiveAsProperty: Boolean = true, val jsPromiseBaseName: String = "", val jsPromiseSuffix: String = "Async", val jsPromiseAsProperty: Boolean = false)

用于代表同时标记 @JvmBlocking 和 @JvmAsync 的整合性注解。

Properties

Link copied to clipboard

默认的异步调用(Java异步,例如 CompletableFuture 或 runInAsync)上下文。

Link copied to clipboard

使用在非协程环境下的异步API(例如 runInAsync )中的默认调度器。 会在首次被获取的时候进行实例化。

Link copied to clipboard

在 runInBlocking 中使用的默认上下文实例。

Link copied to clipboard

使用在阻塞API(例如 runInBlocking )或非Java协程环境中的默认调度器。 会在首次被获取的时候进行实例化。

Link copied to clipboard

使用 Executors.newVirtualThreadPerTaskExecutor 构建的全局虚拟线程“线程池”。 如果不支持虚拟线程则会抛出 UnsupportedOperationException。

Functions

Link copied to clipboard
fun <T> asPublisher(context: CoroutineContext? = null, block: suspend () -> T): Publisher<T & Any>

将 block 包装为 org.reactivestreams.Publisher.

Link copied to clipboard
fun <T> asReserve(scope: CoroutineScope? = null, context: CoroutineContext? = null, block: suspend () -> T): SuspendReserve<T>
fun <T> asReserve(scope: CoroutineScope? = null, context: CoroutineContext? = null, block: suspend () -> T): SuspendReserve<T>

将 block 包装为 SuspendReserve. scope 如果为 null 则会使用 GlobalScope。

Link copied to clipboard

执行一个异步函数,得到 CompletableFuture. 默认情况下会使用 GlobalScope 作为调度作用域。

fun <T> runInAsync(scope: CoroutineScope, context: CoroutineContext = EmptyCoroutineContext, block: suspend CoroutineScope.() -> T): CompletableFuture<T>

执行一个异步函数,得到 CompletableFuture.

Link copied to clipboard
fun <T> runInBlocking(context: CoroutineContext = DefaultBlockingContext, block: suspend CoroutineScope.() -> T): T

在simbot中提供的 runBlocking 包装。

Link copied to clipboard
fun <T> runInNoScopeBlocking(context: CoroutineContext = DefaultBlockingContext, block: suspend () -> T): T

在simbot中提供的 runBlocking 包装。

Link copied to clipboard
fun <T> runInNoScopeTimeoutBlocking(timeout: Long, context: CoroutineContext = DefaultBlockingContext, block: suspend () -> T): T

如果超时,则抛出 TimeoutException.

Link copied to clipboard
inline fun <T> runInPromise(context: CoroutineContext = EmptyCoroutineContext, crossinline block: suspend CoroutineScope.() -> T): Promise<T>

使用 GlobalScope 执行一个异步函数,得到 Promise.

inline fun <T> runInPromise(scope: CoroutineScope, context: CoroutineContext = EmptyCoroutineContext, crossinline block: suspend CoroutineScope.() -> T): Promise<T>

执行一个异步函数,得到 Promise.

Link copied to clipboard
fun <T> runInTimeoutBlocking(timeout: Long, context: CoroutineContext = DefaultBlockingContext, block: suspend CoroutineScope.() -> T): T

如果超时,则抛出 TimeoutCancellationException.

Link copied to clipboard

设置一个 runInBlocking 函数的实际调度逻辑。

Link copied to clipboard