Each thread does one thing to each piece of data and passes the results to the next thread in line.
This model makes the most sense if you have multiple processors so two or more threads will be executing in parallel, though it can often make sense in other contexts as well.
Once the event has been passed on, the boss thread goes back to waiting for another event. While tasks aren't necessarily performed faster than with any other method, it tends to have the best user-response times.
This model is particularly useful if the system running the program will distribute multiple threads across different processors.Threads are a new feature, and even some of the standard modules aren't thread-safe.Even if a module is thread-safe, it doesn't mean that the module is optimized to work well with threads.It can also be useful in ray tracing or rendering engines, where the individual threads can pass on interim results to give the user visual feedback.The pipeline model divides up a task into a series of steps, and passes the results of one step on to the thread processing the next.