I have a Communications application in which I am having 5 threads running in it,
1) Application Thread
2) To receive data from serial port
3) To validate the packets and route to Data link layer
4) Datalink layer functionality(seq_nos,retrys,etc)
5) Routing the receved messages to proper windows.
In the above threads normally all the threads will be in waiting mode waiting for some data to arrive on their receive queues.
This is degrading the application performance and it is becoming very slow.
Can any expert suggest some efficient way?