This commit is contained in:
ChenX
2024-03-26 11:10:20 +08:00
parent 070821c353
commit 66f35d6c12
2436 changed files with 31792 additions and 3945 deletions

7
types/Common/ThreadPool/Task.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
export interface Task {
key: any;
data: any;
then: Function;
workerCtor: (new () => Worker);
}
//# sourceMappingURL=Task.d.ts.map

View 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
View 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

View 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"}