最近在做一个跟串口数据读取有关的软件,怎么保证线程读数据不会丢失?
大概代码是
while(true)
{
.....
if(size>0)
.....
sleep(200)
}
先搞清楚你的过程,为什么数据会丢失
while (flag) {
if (mInputStream == null)
return;
byte[] buffer = new byte[2048*2];
int readLen = mInputStream.read(buffer);
if (readLen > 0) {
byte[] data = new byte[readLen];
Log.v("Tag", readLen+"");
System.arraycopy(buffer, 0, data, 0, readLen);
if (mDataListener != null)
mDataListener.handleReceiveMessage(data);
}
Thread.sleep(100);