static的问题? 可能由于你的两个线程虽然启动了,但是没有完成时mainList = TestList.list;该语句就执行了,导致一场结果! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args) {try { ArrayList mainList = new ArrayList(); new TestList().start(); new TestList().start();Thread.sleep(2000);} catch(Exception e) {} mainList = TestList.list; System.out.println("the mainList size is" + mainList.size()); for (int i = 0; i < mainList.size(); i++) System.out.println(mainList.get(i)); } 那如果我要启动多个线程呢?那要sleep多长时间?怎么判断其他的线程是否完成了呢? 线程之间的通讯,不要使用sleep,太不专业了。 具体怎么办?要启动多个线程,都改变static list的值,怎么判断所有的线程都已经执行完了,然后才能再在主线程中调用list的值。 可以使用thread.join()方法来使得这个线程完成。 弄个interface,定义一个接口函数rollback 每个线程都继承这个接口在线程结束之前,可以调用rollback说明我这个线程已经结束了。 java RowSet连接数据库 空指针异常 如何实现文件的分片传输? 大侠们帮我看看多线程方法同步问题 请问这样写有什么问题?运行时老告诉我:所需项目中存在错误 关于AIX 系统上安装的 j2sdk问题 请教大家俩道简单却不明白的面试题 急,struts中怎样利用iterate标记和bean标记的来显示存在session中一个bean的集合中的数据! 这个线程为什么不能正常输出? 如何传递事件 问一个很菜的问题..... Exception in thread "main" java.lang.NoSuchMethodError: main java web start技术的客户端大小问题
try {
ArrayList mainList = new ArrayList();
new TestList().start();
new TestList().start();
Thread.sleep(2000);
} catch(Exception e) {}
mainList = TestList.list;
System.out.println("the mainList size is" + mainList.size());
for (int i = 0; i < mainList.size(); i++)
System.out.println(mainList.get(i));
}
那要sleep多长时间?怎么判断其他的线程是否完成了呢?
不要使用sleep,太不专业了。
每个线程都继承这个接口
在线程结束之前,可以调用rollback说明我这个线程已经结束了。