我想知道如果不同的线程尝试写入同一共享串行端口,SerialPort.Write方法是否以及如何受到上下文切换的影响。
例如,假设我们有两个线程A和B,并且在此示例中A在B之前被调用。 线程A希望在某个时候这样做:
serialPort.Write("abcdef");
并为此线程B:
serialPort.Write("123456");
输出会发生什么? 会是:
"abcdef123456"
或者它会以这种方式混淆:
"a12bcd3e45f6"
如果是第一件事,那就好。否则,我可能需要防止上下文切换。