W mojej aplikacji używam klasy .NET SerialPort do odczytu i zapisu danych. Odczyt jest dokonywany przy użyciu zdarzenia DataReceived, zakładam wewnętrznie w wątku ThreadPool. Pisanie odbywa się za pomocą wątku UI (WinForm).Czy konieczna jest synchronizacja .NET SerialPort zapisuje/czyta?
Zastanawiam się, czy konieczne jest zsynchronizowanie dostępu do instancji SerialPort, aby w tym samym czasie nie było możliwe odczytywanie/zapisywanie. Moje sumienie mówi mi, że powinienem blokować te połączenia, ale jestem zdziwiony, ponieważ wszystkie przykłady z C# SerialPort, które znalazłem w Internecie, w ogóle nie używają blokowania.
Powinieneś zdecydowanie zablokować. Najprawdopodobniej przykłady znalezione w Internecie są zbyt uproszczone. Staram się uważnie przeczytać dokumentację dla każdego przykładu, który próbuję podążać, na wypadek gdyby coś takiego zostało pominięte. –