Java MultiThreading means, executing multiple Processes concurrently. This is used to run Complex problems in Background without waiting for the main program. Multithreads use the Shared memory area. They don't allocate the separate memory for the process because of that reason we can save the memory and also this leads to improved performance and responsiveness in applications.
Multitasking means executing multiple tasks simultaneously. This helps to utilize the CPU. We can achieve this multitasking in two ways.
Thread is a lightweight sub process which runs complex problems in the background without waiting for the main program. Thread has a separate path of execution. Threads used a shared memory area. Java provides Thread class to run our complex problems in the background. This provides some methods to create Threads and perform our operations.