many to one multithreading model