Synchronous (Síncrono) and Asynchronous (Assíncrono)

Thread

Thread é basicamente um único processo que um programa pode usar para concluir tarefas. Cada thread só pode fazer uma tarefa de cada vez:


                    Tarefa A --> Tarefa B --> Tarefa C
                
Cada tarefa será executada sequencialmente. Uma tarefa tem que ser concluída antes que a próxima possa ser iniciada. Como foi dito anteriormente, muitos computadores possuem múltiplos núcleos, para que possam fazer múltiplas coisas de uma vez só. Linguagens de programação que podem suportar múltiplas threads podem usar múltiplos processadores para concluir múltiplas tarefas simultâneamente:

                    Thread 1: Tarefa A --> Tarefa B
                    Thread 2: Tarefa C --> Tarefa D
                

Single Thread

Multi Thread

References

Web Workers API