1.What kind of strategies we can have for using thread pools?
By using thread pools,creating a amount of threads,system can decrease the creation and destruction for each task.
2.Why the windows uses one to one mapping for the threads while there are many to many available?
Because each kernel thread is actually a different kernel-schedulable entity, multiple threads can run concurrently on different processors. It can achieve significant speedups when migrated from uniprocessors to multiprocessors.
3.Specify the differences between processes and threads?
Both processes and threads are independent sequences of execution. The typical difference is that threads (of the same process) run in a shared memory space, while processes run in separate memory spaces.