11 lines
319 B
TypeScript
Executable file
11 lines
319 B
TypeScript
Executable file
import { threadId } from 'worker_threads';
|
|
|
|
module.exports = async function ([i32array, n]) {
|
|
Atomics.add(i32array, 0, 1);
|
|
Atomics.notify(i32array, 0, Infinity);
|
|
let lastSeenValue;
|
|
while ((lastSeenValue = Atomics.load(i32array, 0)) < n) {
|
|
Atomics.wait(i32array, 0, lastSeenValue);
|
|
}
|
|
return threadId;
|
|
};
|