摇摆冻结的线程 - java

时间:2018-05-12 15:26:04

标签: java multithreading swing sleep jtextpane

我想实现一个虚假的bash,当我在输出上添加多个字符串(JTextPane)时,消息和另一个消息之间会有一点等待。我用一个线程做了它,但是当我添加一条新消息时它都冻结了。 这是追加的代码:

public void append(String s) {
    Thread t = new Thread(){
        public void run() {
            textPane.setText(textPane.getText()+"\n"+s);
            try {
                Thread.sleep((long) (Math.random()%1000));
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };
    t.start();
    try {
        t.join();
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}

但结果是所有冻结等待所有消息都被写入。我该怎么办?

0 个答案:

没有答案