Asynchronous programming is about the asynchronous sequence of Tasks, while multithreading is about multiple threads running in parallel.
Multithreading is a way of asynchrony in programming but we can also have single-threaded asynchronous tasks.