Чем отличаются Конкурентность, Многопоточность, Асинхронность и Параллелилизм?
С терминами из этой области очень много путаницы. Например, в Java очень часто многопоточное выполнение называют асинхронным, хотя это не во всех контекстах верно. Проще всего разбираться на аналогиях. Процитирую самого себя:Один человек ставит кастрюлю на плиту, ждёт пока она закипит, закидывает пельмени, ждёт пока сварятся, снимает, ставит вторую, ждёт пока закипит... - последовательное однопоточное выполнение.Один человек ставит две кастрюли на плиту, как только одна из них закипела, забрасывает пельмени и т.д. - асинхронное выполнение.Два человека ставят две кастрюли на одну плиту... - многопоточное конкурентное выполнение.Два человека ставят две кастрюли на две плиты... - многопоточное параллельное выполнение.
И для всех случаев, кроме первого, есть общий термин - многозадачность.
Роскомнадзор и до гугла добрался? 
Какая разница между параллельным и многопоточным программированием?
https://habr.com/post/337528/
тысячи их. и это в рамках только тематических медиа.