读书人

多线程对同一串口读写 如何解决

发布时间: 2012-06-15 19:37:05 作者: rapoo

多线程对同一串口读写 怎么解决?
大家好 最近在搞socket 通信 有一个问题是 有两个线程同时对一个串口进行读写操作 但是这样很容易出错
请问又没有办法 协调这两个线程
PS :在网上查到资料 可以建立一个消息队列 然后 有专门的线程进行读写串口 但是不知道 消息队列是什么形式的 数组还是还是自己定义的 ?两个线程怎么同时往一个消息队列中写数据呢? 谢谢了啊

[解决办法]
用信号灯。
tutorial:
http://tutorials.jenkov.com/java-concurrency/semaphores.html
[解决办法]
职责切分下,线程主体负责生成需要写的完整数据包,注意是完整的;

然后把负责将完整数据包写入Socket的那个函数,做成static,然后前面加上synchronized就完事了。

读书人网 >Java相关

热点推荐