import type { AsyncResult, Debug, Fn, Integer } from '@chzky/core'; import type { TaskCB, TaskFunc } from './type.js'; import { DENO_CUSTOM_INSPECT } from '@chzky/core'; import { TaskState } from './type.js'; /** ## `Task` : `Promise`任务调度器,用于`Promise`任务管理 @Category : Async */ export declare class Task implements Debug { private readonly threads; private pool; private state; private readonly watch_handlers; constructor(thread: Integer); /** `SingleThread` : 创建一个单线程执行队列,使用tasks作为初始化执行任务队列 */ static SingleThread(tasks?: Array): Task<1>; /** `MultiThread` : 创建一个多协程执行队列,使用tasks作为初始化执行任务队列 + task的长度就是线程的数量,必须大于0 */ static MultiThread(tasks: [TaskFunc, ...Array]): Task; /** ### `suspend` : 暂停任务队列,正在运行的任务会继续运行,之后的任务都将被暂停 */ suspend(): void; /** ### `resume` : 恢复任务队列,继续执行任务队列 */ resume(): void; /** ### `clear` : 清空任务队列,正在运行的任务将会继续运行,之后的任务都将被清空 */ clear(): void; /** ### `add_task` : 新增Promise任务,要求返回值为AsyncResult[用于表示任务是否执行成功] */ add_task(pfn: Fn> | Fn>[], opts?: { top: boolean; }): AsyncResult; /** ### `execute` : 执行器执行 | 内部实现 */ private execute; /** ### `watch_emit` : 任务调度器监听器触发 | 内部实现 */ private watch_emit; /** ### `info` : 获取任务执行情况 */ info(): [string, string, string, ...Array, string]; /** ### `watch` : 任务调度器监听器 */ watch(handler: Fn<{ state: TaskState; info: [string, string, string, ...Array, string]; }, void>): void; /** ### `log` : 实现{@linkcode Debug}接口 */ log(): void; [DENO_CUSTOM_INSPECT](): string; } //# sourceMappingURL=mod.d.ts.map