What is multi-threading?
Multithreading allows multiple threads to exist within the context of a process such that they execute independently but share their process resources.
Threads do not allow you to separate the memory area. Therefore it saves memory and offers a better application performance. The cost of communication between threads is low and the access from another context to memory state is easier.