"In the end threading is about how many blocks of code (i.e. threads) we run on your computer's microprocessor simultaneously. If you have multiple 'cores' (like most modern Intel processors have) you can run multiple 'threads' simultaneously (i.e. each processor core is processing instructions at the same time). Javascript engines don't do this. Javascript doesn't necessarily get faster with more processor cores. On the other hand synchronous/asynchronous has to do with how a single thread is processed. Synchronous means 'wait for me to finish before doing something else'. Asynchronous means 'it's ok, keep going while I finish'."
If I follow these explanations, asynchronous implies that the computer process more than one thread at a time? So a single thread asynchronous language cannot exist?