import { WorkerData } from '../types/Worker';
import { WorkerUtils } from './WorkerUtils';
-export default class WorkerStaticPool<T> extends WorkerAbstract {
- private pool: FixedThreadPool<WorkerData>;
+export default class WorkerStaticPool extends WorkerAbstract<WorkerData> {
+ private readonly pool: FixedThreadPool<WorkerData>;
/**
* Create a new `WorkerStaticPool`.
* @returns
* @public
*/
- public async addElement(elementData: T): Promise<void> {
+ public async addElement(elementData: WorkerData): Promise<void> {
await this.pool.execute(elementData);
// Start worker sequentially to optimize memory at startup
await Utils.sleep(this.workerStartDelay);