itas109 / CSerialPort

CSerialPort - lightweight cross-platform serial port library for C++/C/C#/Java/Python/Node.js/Electron
https://blog.csdn.net/itas109/article/details/84282860
Other
740 stars 338 forks source link

大佬,想问一下多线程调用的问题。 #65

Closed qbq600 closed 2 years ago

qbq600 commented 2 years ago

在线程A初始化itas109::CSerialPort对象a,并实行监听接收数据,在线程B直接调用线程A的对象a进行串口写,请问这样的串口读写调用要分别加锁吗?

itas109 commented 2 years ago

同一个类对象不用加锁,内部已经进行了加锁处理。

qbq600 commented 2 years ago

同一个类对象不用加锁,内部已经进行了加锁处理。

多谢大佬的回答,另外我想更快接到串口数据,在子线程里使用死循环不间断访问串口,是否可行?例如在子线程run()内这样写 itas109::CSerialPort _serial; _serial.init(...); char buf[1024]; while(true) { _serial.readData(buf, 1024); dealData(buf); } 这样会不会把串口占用了而无法写串口?

itas109 commented 2 years ago

可以的。 异步模式内部也是类似的方式。