1- looper takes messages from message queue and give it to handler . .
2- handler does handleMessage() and sendMessage() , two tasks in same time by
different thread . 3- Hnadler is capable to do two things , one is handleMessages(), which are sent from looper and sendMessages() from different thread . 4- each thread can have its own looper and handler. 5- Thread in Java is an independent path of execution which is used to run two task in parallel. 6- When two Threads run in parallel that is called multi-threading in Java.