黑马程序员技术交流社区
标题:
关于张孝祥老师的线程内数据共享
[打印本页]
作者:
darkads
时间:
2014-9-14 20:21
标题:
关于张孝祥老师的线程内数据共享
今天看了张老师的线程内数据共享视频,照着把代码敲出来了,运行也正常,突然想到是否可以重写Thread的run方法来替代重写Ruanble的run方法。
new Thread() {
@Override
public void run() {
int data = new Random().nextInt();
map.put(Thread.currentThread(), data);
System.out.println(Thread.currentThread().getName() +
"数据已经准备完毕:" + data);
new ShareA().show();
new ShareB().show();
}
}.start();
复制代码
这是更改后的代码,没有使用runable构建线程,直接重写了run方法,运行结果如下:
Thread-1数据已经准备完毕:836017292
Thread-0数据已经准备完毕:-1333907079
ShareA formThread-0 get data: null
ShareA formThread-1 get data: 836017292
ShareB formThread-0 get data: null
ShareB formThread-1 get data: 836017292
复制代码
线程0的数据变成了null,不知道为什么会这样,请大神指教!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2