Skip to content

Commit 3b8e377

Browse files
committed
Remove async/await
1 parent fe2e786 commit 3b8e377

1 file changed

Lines changed: 14 additions & 18 deletions

File tree

JavaScript/5-no-race.js

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Mutex {
1313
this.owner = false;
1414
}
1515

16-
async enter() {
16+
enter() {
1717
let prev = Atomics.exchange(this.lock, 0, LOCKED);
1818
while (prev !== UNLOCKED) {
1919
Atomics.wait(this.lock, 0, LOCKED);
@@ -75,26 +75,22 @@ if (isMainThread) {
7575
const array = new Int32Array(workerData, 4, 2);
7676
const point = new Point(array);
7777
if (threadId === 1) {
78-
(async () => {
7978
for (let i = 0; i < 1000000; i++) {
80-
await mutex.enter();
81-
point.move(1, 1);
82-
mutex.leave();
83-
}
84-
await mutex.enter();
85-
console.dir({ point });
79+
mutex.enter();
80+
point.move(1, 1);
8681
mutex.leave();
87-
})();
82+
}
83+
mutex.enter();
84+
console.dir({ point });
85+
mutex.leave();
8886
} else {
89-
(async () => {
90-
for (let i = 0; i < 1000000; i++) {
91-
await mutex.enter();
92-
point.move(-1, -1);
93-
mutex.leave();
94-
}
95-
await mutex.enter();
96-
console.dir({ point });
87+
for (let i = 0; i < 1000000; i++) {
88+
mutex.enter();
89+
point.move(-1, -1);
9790
mutex.leave();
98-
})();
91+
}
92+
mutex.enter();
93+
console.dir({ point });
94+
mutex.leave();
9995
}
10096
}

0 commit comments

Comments
 (0)