Concurrency and Parallelism in JavaScript