If SerialPort_obj_DataReceived called by multi thread , in this case should I to use a lock or not ?
similar question here: serial port thread locking while processing data read from serial port
Thank you.
public partial class Ctwing : Form
{
object myLock = new object();
SerialPort serialPort_obj;
List<byte> dataReceived;
public Ctwing()
{
InitializeComponent();
dataReceived = new List<byte>();
serialPort_obj = new SerialPort();
serialPort_obj.DataReceived += SerialPort_obj_DataReceived;
}
private void SerialPort_obj_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
byte[] buff = new byte[sp.BytesToRead];
sp.Read(buff, 0, sp.BytesToRead);
dataReceived.AddRange(buff);
/* should I to use a lock or not ?
lock(myLock){
dataReceived.AddRange(buff);
}
*/
}
}
nothing. this is just a question.
Lockclass.