Notice the serial port used in this example is static, which according to their documentation is thread-safe. If it was an instance locking would probably be required. Does anyone know the advantage of this looping thread approach vs. using a DataReceived event handler.