Multithreading шаг за шагом
Существует класс задач, которые можно ускорить за счет многопоточности. В основном эти задачи связаны с интернетом: закачка файлов, рассылка почты, сканирование сетей, брутфорс паролей к различным сервисам и т.д. При последовательном выполнении каких-либо операций в интернете программе приходится ждать: транспортировка пакета между компами занимает какое-то время, и серверу требуется время на обработку