{"action":"created","issue":{"url":"https://api.github.com/repos/caolan/async/issues/732","labels_url":"https://api.github.com/repos/caolan/async/issues/732/labels{/name}","comments_url":"https://api.github.com/repos/caolan/async/issues/732/comments","events_url":"https://api.github.com/repos/caolan/async/issues/732/events","html_url":"https://github.com/caolan/async/issues/732","id":61406307,"number":732,"title":"Add a better explanation about parallel.","user":{"login":"DaAwesomeP","id":4472083,"avatar_url":"https://avatars.githubusercontent.com/u/4472083?v=3","gravatar_id":"","url":"https://api.github.com/users/DaAwesomeP","html_url":"https://github.com/DaAwesomeP","followers_url":"https://api.github.com/users/DaAwesomeP/followers","following_url":"https://api.github.com/users/DaAwesomeP/following{/other_user}","gists_url":"https://api.github.com/users/DaAwesomeP/gists{/gist_id}","starred_url":"https://api.github.com/users/DaAwesomeP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DaAwesomeP/subscriptions","organizations_url":"https://api.github.com/users/DaAwesomeP/orgs","repos_url":"https://api.github.com/users/DaAwesomeP/repos","events_url":"https://api.github.com/users/DaAwesomeP/events{/privacy}","received_events_url":"https://api.github.com/users/DaAwesomeP/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-14T04:31:11Z","updated_at":"2015-03-22T20:08:45Z","closed_at":null,"body":"I recently found that async doesn't run things in parallel at all. It isn't async to blame; it is NodeJS. Async takes advantage NodeJS's non-blocking feature. So, when one task idles or pauses, another jumps in. Async manages that; it manages what jumps in. **Nothing ever really happens at the same time.** You would need child processes or threads for that.\r\n\r\nI stumbled upon this with this [Stack Overflow answer](http://stackoverflow.com/a/19025010/2852590). I was testing my app and only using `console.log` and standard JavaScript functions that happen in an instant in `async.each()`. The console showed that the `each` was actually maintaining the order of the array. I had always thought that things were happening at the same time. Some were directed instantly to `console.log` while others had to go through if statements before `console.log`. I expected some to finish first.\r\n\r\nSince async may be the first library that many people new to NodeJS learn (including me), it should be made clear how async's parallel and series works. "},"comment":{"url":"https://api.github.com/repos/caolan/async/issues/comments/84690270","html_url":"https://github.com/caolan/async/issues/732#issuecomment-84690270","issue_url":"https://api.github.com/repos/caolan/async/issues/732","id":84690270,"user":{"login":"DaAwesomeP","id":4472083,"avatar_url":"https://avatars.githubusercontent.com/u/4472083?v=3","gravatar_id":"","url":"https://api.github.com/users/DaAwesomeP","html_url":"https://github.com/DaAwesomeP","followers_url":"https://api.github.com/users/DaAwesomeP/followers","following_url":"https://api.github.com/users/DaAwesomeP/following{/other_user}","gists_url":"https://api.github.com/users/DaAwesomeP/gists{/gist_id}","starred_url":"https://api.github.com/users/DaAwesomeP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DaAwesomeP/subscriptions","organizations_url":"https://api.github.com/users/DaAwesomeP/orgs","repos_url":"https://api.github.com/users/DaAwesomeP/repos","events_url":"https://api.github.com/users/DaAwesomeP/events{/privacy}","received_events_url":"https://api.github.com/users/DaAwesomeP/received_events","type":"User","site_admin":false},"created_at":"2015-03-22T20:08:45Z","updated_at":"2015-03-22T20:08:45Z","body":"@caolan would you consider this?"}}