В моем приложении я использую класс .NET SerialPort для чтения и записи данных. Чтение выполняется с использованием события DataReceived, я предполагаю, что внутри него существует поток ThreadPool. Запись выполняется потоком пользовательского интерфейса (WinForms).
Мне было интересно, нужно ли синхронизировать доступ к экземпляру SerialPort, чтобы в одно и то же время не происходило никаких Reads/Writes. Моя совесть говорит мне, что я должен помещать блокировки вокруг этих вызовов, но я озадачен тем, что все примеры С# SerialPort, которые я нахожу в Интернете, вообще не используют блокировку.