It depends on the existing system you have in place. Most real time systems have multiple components which need to communicate with each other without introducing delays ... You can't just pend on a single queue waiting for events(or poll multiple queues). I believe some people reverse engeneer IB interface so they can bypass the threads/queue and work directly on socket level. For FIX, I chose to implement my own engine (very basic, not fully compliant) to avoid having too many threads.As a user of those libs you don't need to worry about threading.
That's one of the problems giving estimates, you need to know the existing system to get an idea of what the amount of effort required. And it will take more than an hour just to come up with a proper solution/proposal.
If you are, or ever dealt with, programmers you know you can never get a straight answer ... It's always - "it depends"
