The task at hand is to design a module. The system is such that it accepts sms's from clients. reads the sms and extracts information from it. It then broadcasts the information to all other telephone service providers. Only one provider will ideally respond to the broadcast request. I cannot understand how to decide where to use threads.
What I have thought is:
That each client will spawn a new thread at its telephone service provider (which will contain a fix sized thread pool). The service provider software will extract information from the sms and broadcast. So if there are 5 threads in the pool and 1000 clients then at an instant there will be 5 of them working.
Should I have another threadpool to receive the broadcast reply? In this case each client will get a broadcast reply and that will need to be read from the buffer before it gets full.