在applet中更新线程

时间:2013-05-06 12:50:17

标签: java swing awt awt-eventqueue

在我的应用程序中,我创建了多个Threads,因为在每个线程中的值都已更改。所以每一分钟我想从列表中更新所有线程相同的值。在此编码中,值不会更新。以前的值仅保留在每个线程中。解决方案是什么?

public static class updateClient implements Runnable {
    public static void doUpadte(Map<String, String> list) {
        final Map<String, String> liHashMap = list;
        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                for (Entry<String, String> entry : liHashMap.entrySet()) {
                    String client_Name=entry.getKey();
                    taNames.append(client_Name + "\n");
                }       
            }
        });
    }

    @Override
    public void run() {
        // TODO Auto-generated method stub
        while(true) {
            try {
                Thread.sleep(5000);
                doUpadte(list);
            }
            catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
        }
    }
}

0 个答案:

没有答案