@ riestools/ 线程
网络工人和工人线程如函数调用一样简单
内部地位:此单列宝内含零消费者的只公用套件. 这个
dead.package.internal编号 :dead.repo.internal忽视和覆盖 对于这个包是故意的.
安装
使用 npm :
npm install {{name}}
使用线条 :
yarn add {{name}}
使用 pnpm :
pnpm add {{name}}
使用包子 :
bun add {{name}}
许可证
见 自由主义 用于许可证权利和限制的文件(LGPL-3.0-只).
参考文献
软件包
线程
### .temp-typedoc
### index-browser
### functions
### <a id="Transfer"></a>Transfer
调用签名
function Transfer(transferable): TransferDescriptor;
将可转让对象标为此类对象,因此不会进行序列化和 与主线程在信件中解析, 但可传输 拥有它到接收线程.
仅使用数组缓冲器、信件端口和少数其他特殊设备 类型对象,但它比序列化和 消灭他们.
说明: 此线索无法再次访问可转让对象 除非接收线又转移回来!
参数
可转让
Transferable
矩阵缓冲器,信件端口或类似.
回返
见
调用签名
function Transfer<T>(payload, transferables): TransferDescriptor;
将任意对象或阵列中的可转让对象标为 作为可转让对象。 他们不会被连载 并用主线,但所有权 它们将被移到接收线上.
只有数组缓冲器、信件端口和少数其他特殊类型 对象可以被转移,但比串行化和 消灭他们.
说明: 此线索无法再次访问可转让对象 除非接收线又转移回来!
类型参数
T级
T
参数
有效载数
T
可转让
Transferable[
回返
见
### <a id="isWorkerRuntime"></a>isWorkerRuntime
function isWorkerRuntime(): boolean;
请检查当前代码是否在网络工人的背景中运行 .
回返
boolean
如果在工人中跑步,那就是真的,否则是假的.
### <a id="registerSerializer"></a>registerSerializer
function registerSerializer(serializer): void;
注册自定义序列器,以扩展工人信息默认序列化行为.
参数
序列器
SerializerImplementation<JsonSerializable> 翻译:
序列器执行注册.
回返
void
### <a id="spawn"></a>spawn
function spawn<Exposed>(worker, options?): Promise<ExposedAs<Exposed>>;
喷出一丝新线. 换个新工人的例子 把它包起来 抽象层以提供透明的 API 并验证 工人已经成功初始化.
类型参数
已曝光
Exposed 扩展 WorkerFunction | WorkerModule<any> = (单位:千美元) ArbitraryWorkerInterface
参数
劳动者
Worker
实例 Worker网络工人或 worker_threads 工人们.
选项?
暂停?
number
信息暂停 。 默认: 10000或由环境变量设置.
回返
Promise<ExposedAs<Exposed>>
### interfaces
### <a id="Pool"></a>Pool
串接池管理一套工人线. 用于在有限线程上运行的任务队列 货币.
类型参数
线索类型
ThreadType 扩展 Thread
方法
已完成( )
completed(allowResolvingImmediately?): Promise<any>;
返回当任务队列被清空后解析的诺言 . 如果任何任务失败,承诺将被拒绝.
参数
允许解析 马上?
boolean
设定为 true 当任务队列目前为空时立即解决.
回返
Promise<any> 翻译:
已结清()
settled(allowResolvingImmediately?): Promise<Error[]>;
返回当任务队列被清空后解析的诺言 . 不完成任务不会使承诺遭到拒绝.
参数
允许解析 马上?
boolean
设定为 true 当任务队列目前为空时立即解决.
回返
Promise<Error[ >]
事件()
events(): Observable<PoolEvent<ThreadType>>;
返回可观测到的集合事件.
回返
Observable<PoolEvent<ThreadType>>
队列( )
queue<Return>(task): QueuedTask<ThreadType, Return>;
完成一个任务,并返回一个承诺,一旦任务解除,就解决, 开始和完成.
类型参数
返回时
Return
参数
任务
TaskRunFunction<ThreadType, (中文(简体) ), Return> 翻译:
一个使用线程实例并引用其的ASync函数.
回返
QueuedTask<ThreadType, (中文(简体) ), Return> 翻译:
终止( c)
terminate(force?): Promise<void>;
终止所有池线.
参数
强?
boolean
设定为 true 杀死线条 即使它不能被优雅地阻止.
回返
Promise<void> 翻译:
### <a id="QueuedTask"></a>QueuedTask
任务已经 pool.queued()-对.
类型参数
线索类型
ThreadType 扩展 Thread
返回时
Return
属性
接下来
then: <TResult1, TResult2>(onfulfilled?, onrejected?) => Promise<TResult1 | TResult2>;
QueuedTask 是可执行的,所以你可以 await 这个.
决定任务何时成功执行。 如果任务失败则拒绝 .
随函附上对 " 承诺 " 的解决和/或拒绝的召回.
类型参数
特苏尔特1
TResult1 =: Return
特克苏尔特2
TResult2 =: never
参数
完成吗?
((单位:千美元)value) (中文(简体) ) TResult1 | PromiseLike<TResult1>) null
承诺解决后恢复执行 .
拒绝?
((单位:千美元)reason) (中文(简体) ) TResult2 | PromiseLike<TResult2>) null
当承诺被拒绝时, 回调执行 .
回返
Promise<TResult1 | TResult2> 翻译:
承诺完成 永远召回.
方法
取消( )
cancel(): void;
排队任务可以被取消,直到池子开始运行在工人线程上.
回返
void
### <a id="Serializer"></a>Serializer
一个可以在消息格式和输入类型之间转换的序列器.
类型参数
老师
Msg =: JsonSerializable
投入
Input =: any
方法
淡化( )
deserialize(message): Input;
参数
消息
Msg
回返
Input
序列化( )
serialize(input): Msg;
参数
投入
Input
回返
Msg
### <a id="SerializerImplementation"></a>SerializerImplementation
串行器执行,接收回倒(默认)串行器进行连锁.
类型参数
老师
Msg =: JsonSerializable
投入
Input =: any
方法
淡化( )
deserialize(message, defaultDeserialize): Input;
参数
消息
Msg
默认去除
(单位:千美元)msg) (中文(简体) ) Input
回返
Input
序列化( )
serialize(input, defaultSerialize): Msg;
参数
投入
Input
默认序列化
(单位:千美元)inp) (中文(简体) ) Msg
回返
Msg
### <a id="TransferDescriptor"></a>TransferDescriptor
描述器将一个值与其相联的可转让对象相包裹,用于零拷贝消息.
类型参数
T级
T =: any
属性
[可转让美元]
[$transferable]: true;
发送
send: T;
可转让
transferables: Transferable[];
### namespaces
### Pool
### type-aliases
### <a id="Event"></a>Event
type Event<ThreadType> = PoolEvent<ThreadType>;
类型参数
线索类型
ThreadType 扩展 Thread =: any
### <a id="EventType"></a>EventType
type EventType = PoolEventType;
### type-aliases
### <a id="BlobWorker"></a>BlobWorker
type BlobWorker = typeof BlobWorkerClass;
从源代码blobs或字符串中分离出产工人的阶级.
### <a id="ExposedAs"></a>ExposedAs
type ExposedAs<Exposed> = Exposed extends ArbitraryWorkerInterface ? ArbitraryThreadType : Exposed extends WorkerFunction ? FunctionThread<Parameters<Exposed>, StripAsync<ReturnType<Exposed>>> : Exposed extends WorkerModule<any> ? ModuleThread<Exposed> : never;
映射工人暴露的 API 类型到相应的线程类型(FunctionThread 或者说 ModuleThread) (中文(简体) ).
类型参数
已曝光
Exposed 扩展 WorkerFunction | WorkerModule<any> 翻译:
### <a id="FunctionThread"></a>FunctionThread
type FunctionThread<Args, ReturnType> = ProxyableFunction<Args, ReturnType> & PrivateThreadProps;
一个线程将单个被曝光的函数包入 .
类型参数
参数
Args 扩展 any[]= any[
返回类型
ReturnType =: any
### <a id="JsonSerializable"></a>JsonSerializable
type JsonSerializable =
| JsonSerializablePrimitive
| JsonSerializablePrimitive[]
| JsonSerializableObject
| JsonSerializableObject[];
一个JSON相容值,可以序列化用于工人信息传递.
### <a id="ModuleThread"></a>ModuleThread
type ModuleThread<Methods> = ModuleProxy<Methods> & PrivateThreadProps;
线程包接一个已曝光的函数模块 .
类型参数
方法
Methods 扩展 ModuleMethods =: any
### <a id="Thread"></a>Thread
type Thread = ThreadType;
再出口 主类型模块的线索类型 .
### <a id="Worker"></a>Worker
type Worker = WorkerType;
工人执行。 要么是网络工人 要么是节点工.
### variables
### <a id="BlobWorker"></a>BlobWorker
BlobWorker: typeof BlobWorker;
从源代码blobs或字符串中分离出产工人的阶级.
### <a id="DefaultSerializer"></a>DefaultSerializer
const DefaultSerializer: Serializer<JsonSerializable>;
处理错误实例并传递其他值的默认序列器 .
### <a id="Pool"></a>Pool
Pool: <ThreadType>(spawnWorker, optionsOrSize?) => WorkerPool<ThreadType> & object;
串接池构造器. 创建新池并产出它的工人线程.
声明类型
事件类型
EventType: typeof PoolEventType;
### <a id="Thread"></a>Thread
Thread: object;
线索工具函数 。 用于管理或检查 spawn()- 有线.
声明类型
错误( )
errors<ThreadT>(thread): Observable<Error>;
返回可用于订阅线程中发生的所有错误的可观测值 .
类型参数
线索T
ThreadT 扩展 Thread
参数
线程
ThreadT
回返
Observable<Error> 翻译:
事件()
events<ThreadT>(thread): Observable<WorkerEvent>;
返回一个可以用来订阅线程中发生的内部事件的可观测数据 。 用于调试 .
类型参数
线索T
ThreadT 扩展 Thread
参数
线程
ThreadT
回返
Observable<WorkerEvent> 翻译:
终止( c)
terminate<ThreadT>(thread): Promise<void>;
终结一线. 记住在用完后终止每条线程 .
类型参数
线索T
ThreadT 扩展 Thread
参数
线程
ThreadT
回返
Promise<void> 翻译:
### <a id="Worker"></a>Worker
Worker: typeof WorkerImplementation;
工人执行。 要么是网络工人 要么是节点工.
### index-node
### functions
### <a id="isWorkerRuntime"></a>isWorkerRuntime
function isWorkerRuntime(): boolean;
检查当前代码是否在一个节点.js工人线条内运行 .
回返
boolean
如果运行在工人线上(不是主线),则不正确.
### type-aliases
### <a id="BlobWorker"></a>BlobWorker
type BlobWorker = typeof BlobWorkerClass;
从源代码blobs或字符串中分离出产工人的阶级.
### <a id="Worker"></a>Worker
type Worker = WorkerType;
工人执行。 要么是网络工人 要么是节点工.
### variables
### <a id="BlobWorker"></a>BlobWorker
BlobWorker: typeof BlobWorker;
从源代码blobs或字符串中分离出产工人的阶级.
### <a id="Worker"></a>Worker
Worker: typeof WorkerImplementation;
工人执行。 要么是网络工人 要么是节点工.