android 多个串口读取数据时有的能读取有的不能读取

//读串口数据线程
private class ReadThread extends Thread {

    @Override
    public void run() {
        super.run();
        while (!isStop && !isInterrupted()) {
            try {
                readMethod(mSerialPort0, 0);
                readMethod(mSerialPort1, 1);
                readMethod(mSerialPort2, 2);
            } catch (Exception e) {

            }
        }
    }
}

private void readMethod(SerialPort serialPort, int index) throws IOException, InterruptedException {
    if (serialPort != null) {
        byte[] buffer = new byte[512];
        int size = serialPort.getInputStream().read(buffer);
        if (size > 1)
            onDataReceived(buffer, size, index);
        Thread.sleep(25);
    }
}

    当只有一个串口时都能正确读数,有多个串口对象时就只有一个能用,另外的怎么试都不能使用,串口都成功初始化,使用时也错开了时间,是不是每个串口都要有一个独立的读取线程?我觉得不需要啊,求大神指点

应该是线程阻塞了,这是用的谷歌开源项目android-serialport-api,serialPort.getInputStream().read(buffer)这个read方法导致阻塞的,可惜我不熟悉c语言,不知道咋办了