I hanno pubblicato una domanda su SO se due thread possono eseguire simultaneamente un send()
e un recv()
sullo stesso socket. Mi è stato detto che, mentre potevano, l'implementazione di questo era un esempio di un design molto povero.
Il mio fondamento logico è che i pacchetti devono essere inviati ogni 20ms, quindi non posso aspettare finché non avrò ricevuto qualcosa prima di inviare qualcosa. Ho pensato che la designazione di un thread per eseguire l'invio renderà più semplice mantenere questo intervallo di 20ms non toccato da qualsiasi overhead di elaborazione non correlato.
Perché è una cattiva idea e quali sono i progetti migliori?