Skip to content

Instantly share code, notes, and snippets.

@ramiloif
Last active June 2, 2020 11:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ramiloif/f2cf9e449eb083d6a3a15f590fd16fca to your computer and use it in GitHub Desktop.
Save ramiloif/f2cf9e449eb083d6a3a15f590fd16fca to your computer and use it in GitHub Desktop.
let number = 0;
let temp;
const inc = () => new Promise(resolve => {
setTimeout(() => {
temp = number;
number = temp + 1;
resolve();
}, 4000)
});
const concurrency = 100;
const pool = new Array(concurrency);
for(let i = 0; i < concurrency; i++) {
pool[i] = inc();
}
Promise.all(pool).then(() => {
console.log(number);
});
// prints concurrency value
let number = 0;
//let temp;
const sleep = (seconds) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve();
}, seconds * 1000);
});
};
const inc = async () => {
let temp = number;
await sleep(0);
number = temp + 1;
}
const concurrency = 100;
const pool = new Array(concurrency);
for(let i = 0; i < concurrency; i++) {
pool[i] = inc();
}
Promise.all(pool).then(() => {
console.log(number);
});
// prints 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment