更新
This commit is contained in:
7
types/Common/ThreadPool/Task.d.ts
vendored
Normal file
7
types/Common/ThreadPool/Task.d.ts
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export interface Task {
|
||||
key: any;
|
||||
data: any;
|
||||
then: Function;
|
||||
workerCtor: (new () => Worker);
|
||||
}
|
||||
//# sourceMappingURL=Task.d.ts.map
|
1
types/Common/ThreadPool/Task.d.ts.map
Normal file
1
types/Common/ThreadPool/Task.d.ts.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"Task.d.ts","sourceRoot":"","sources":["../../../../src/Common/ThreadPool/Task.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,IAAI;IAEjB,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC;CAClC"}
|
53
types/Common/ThreadPool/WorkerPool.d.ts
vendored
Normal file
53
types/Common/ThreadPool/WorkerPool.d.ts
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
import { Task } from "./Task";
|
||||
interface Thread {
|
||||
id: number;
|
||||
task: Task;
|
||||
worker: Worker;
|
||||
workerCtor: (new () => Worker);
|
||||
}
|
||||
/** 池化模型
|
||||
*/
|
||||
declare class WorkerPool {
|
||||
/** 线程池 */
|
||||
private _Pool;
|
||||
/** 调度队列 */
|
||||
private _TaskQueue;
|
||||
/** 最大线程数 */
|
||||
THREAD_MAX_COUNT: number;
|
||||
/** 线程ID */
|
||||
private threadId;
|
||||
get Pool(): Thread[];
|
||||
get TaskQueue(): Task[];
|
||||
/** 添加任务 */
|
||||
AppendTask(task: Task): void;
|
||||
TerminateTask(task: Pick<Task, "key" | "workerCtor">): void;
|
||||
/** 更换任务 */
|
||||
UpdateTask(thread: Thread, task: Task): void;
|
||||
/** 循环调度 */
|
||||
Loop(): void;
|
||||
/** 添加任务的事件 */
|
||||
AppendEvent(task: Task): void;
|
||||
/** 执行任务的事件 */
|
||||
ExecuteEvent(task: Task): void;
|
||||
/** 更换任务的事件 */
|
||||
UpdateEvent(task: Task): void;
|
||||
/** 结束任务的事件 */
|
||||
StopEvent(task: Task): void;
|
||||
/** 关闭任务的事件 */
|
||||
CloseEvent(task: Pick<Task, "key" | "workerCtor">): void;
|
||||
/** 获取闲置线程 */
|
||||
GetFreeThread(): Thread | undefined;
|
||||
}
|
||||
/**
|
||||
* 线程池
|
||||
* @example
|
||||
* const task = {
|
||||
* data: 100, // 输入的数据
|
||||
* then: e => console.log(e.data) // 输出的结果
|
||||
* };
|
||||
* // 添加任务
|
||||
* THREAD_POOL.AppendTask(task);
|
||||
*/
|
||||
export declare const WORKER_POOL: WorkerPool;
|
||||
export {};
|
||||
//# sourceMappingURL=WorkerPool.d.ts.map
|
1
types/Common/ThreadPool/WorkerPool.d.ts.map
Normal file
1
types/Common/ThreadPool/WorkerPool.d.ts.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"WorkerPool.d.ts","sourceRoot":"","sources":["../../../../src/Common/ThreadPool/WorkerPool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAO9B,UAAU,MAAM;IAEZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,UAAU,MAAM,CAAC,CAAC;CAClC;AAED;GACG;AACH,cAAM,UAAU;IAEZ,UAAU;IACV,OAAO,CAAC,KAAK,CAAgB;IAC7B,WAAW;IACX,OAAO,CAAC,UAAU,CAAc;IAChC,YAAY;IACZ,gBAAgB,SAAK;IACrB,WAAW;IACX,OAAO,CAAC,QAAQ,CAAK;IAErB,IAAI,IAAI,aAGP;IAED,IAAI,SAAS,WAGZ;IAED,WAAW;IACX,UAAU,CAAC,IAAI,EAAE,IAAI;IAyBrB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC;IAmBpD,WAAW;IACX,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IA+BrC,WAAW;IACX,IAAI;IA0BJ,cAAc;IAEd,WAAW,CAAC,IAAI,EAAE,IAAI;IAKtB,cAAc;IAEd,YAAY,CAAC,IAAI,EAAE,IAAI;IAKvB,cAAc;IAEd,WAAW,CAAC,IAAI,EAAE,IAAI;IAKtB,cAAc;IAEd,SAAS,CAAC,IAAI,EAAE,IAAI;IAKpB,cAAc;IAEd,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC;IAKjD,aAAa;IACb,aAAa,IAAI,MAAM,GAAG,SAAS;CAiBtC;AAED;;;;;;;;;EASE;AACF,eAAO,MAAM,WAAW,YAAmB,CAAC"}
|
Reference in New Issue
Block a user