代码之家  ›  专栏  ›  技术社区  ›  jacknad

Java:在循环中睡眠的替代方案?

  •  1
  • jacknad  · 技术社区  · 15 年前

    我需要连续监听串行输入,但NetBeans警告“调用Thread.sleep in loop可能会导致性能问题”

    public class SerialIO extends javax.swing.JFrame {
        ...
        class RcvTask extends Thread {
            public void run() {
                try {
                    SerInputStream sis = new SerInputStream(serialPort);
                    InputStreamReader isr = new InputStreamReader(sis);
                    BufferedReader reader = new BufferedReader(isr);
                    while (true) {
                        String line = reader.readLine();
                        parse(line);
                        sleep(RX_SLEEP);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        ...
    
    1 回复  |  直到 15 年前
        1
  •  21
  •   Community Mohan Dere    9 年前

    为什么你需要 sleep

    BufferedReader.readLine()


    关于同一主题:

    推荐文章