I want to create parallel threads for socket send/recv in windows and linux instead of managing them in a single thread using select. I am expecting that this will increase the performance of my program. I have the following doubts regarding this design:
Can we create parallel threads and perform socket send/recv, without any synchronization object?
Also if there's no issue will there be any performance gain(in terms of cpu cycles or network load)?
Does this design is helpful in any particular case or is used anywhere in the well known product/package?