单个方法使用锁处理多个SerialPort.DataReceived事件

时间:2016-08-18 16:27:43

标签: c# event-handling serial-port locking

我打开多个串行端口并将DataReceived事件分配给单个方法。如果现在多个com端口同时收到某些内容, SerialPort_DataReceived 被称为并行(?),所以我尝试使用 lock ,这样只能处理一个事件时间。

if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
    lineList.add(cell.getStringCellValue());
}

现在我的问题是,锁定会导致错过收到的内容,因为不会立即处理每个事件吗?我从里面锁定区块中调用 SerialPort.Read() SerialPort.DiscardInBuffer()

0 个答案:

没有答案