UNPKG

js-slang

Version:

Javascript-based implementations of Source, written in Typescript

26 lines (25 loc) 803 B
export type ThreadId = number; export interface Scheduler { numCurrent(): number; currentThreads(): Iterator<ThreadId>; numIdle(): number; idleThreads(): Iterator<ThreadId>; newThread(): ThreadId; deleteCurrentThread(id: ThreadId): void; runThread(): [ThreadId, number] | null; pauseThread(id: ThreadId): void; } export declare class RoundRobinScheduler implements Scheduler { private _currentThreads; private _idleThreads; private _maxThreadId; private _maxTimeQuanta; numCurrent(): number; currentThreads(): Iterator<ThreadId>; numIdle(): number; idleThreads(): Iterator<ThreadId>; newThread(): ThreadId; deleteCurrentThread(id: ThreadId): void; runThread(): [ThreadId, number] | null; pauseThread(id: ThreadId): void; }