A single process to write and another to read, both at same priority so only one can be doing stuff at once.
Mmmm, those two will not preempt each other - but other processes with higher prio preempt them (right?), so perhaps I am daft but doesn't that mean they will switch anyway (potentially in the middle of a method etc)?
In essence, they do preempt each other. They will not preempt each other when they are blasting bytes over the network, but as soon as the net buffer fills up due to waiting for data transmission in either the send or the receive, the other one, if data is available, will take off.