Multi Threaded applications are more efficient than Multi-Process applications. A single thread, the Boss thread, accepts input for the entire program. Based on that input, the Boss passes off specific tasks to one or more Worker threads. Creates threads dynamically or creates a thread pool. One thread is in charge of the work assignment.
All threads work concurrently on their tasks without a specific leader.
Also known as the work crew model. One thread creates all other peer threads with the program starts. However this thread subsequently acts as just another peer thread that processes requests, or suspends itself waiting for the other peers to finish. The peer model makes each thread responsible for its own input. A peer knows it own input ahead of time, has its won private way of obtaining it input, or shares a single point of input with other peers.