Ciao a tutti.
Ho un programma che gestisce una serial port per comunicare con un PLC (in parole povere un hardware dedicato che controlla una catena di montaggio).
Il mio programma può ricevere la richiesta di vari comandi anche simultaneamente. Per questo motivo resta in attesa di questi comandi con vari thread, una volta ricevuto il comando impartisce l'ordine al PLC andando a scrivere sulla porta seriale e attendendo poi la relativa risposta. Il problema è che questi comandi che il mio programma riceve possono arrivare nello stesso momento e qui succede il casino: fra la scrittura e la lettura del comando A si può inserire la scrittura del comando B scombussolando tutto.

Come posso risolvere?

Per la lettura da seriale uso l'handler di serialPort: DataReceived

grazie mille