黑马程序员技术交流社区
标题:
一个奇怪的共享变量问题
[打印本页]
作者:
黄宝宝
时间:
2014-8-21 18:03
标题:
一个奇怪的共享变量问题
本帖最后由 黄宝宝 于 2014-8-21 18:13 编辑
每一次
线程1和线程0产生的data随机数是一样的,觉得很奇怪,太巧了吧,还是我没有看清楚,哪里写错了??
package cn.p1.TraditionThread;
import java.util.Random;
/*
* 线程范围内的共享变量
*/
public class ThreadScopeShareData {
private static int data=0;//共享数据
public static void main(String[] args) {
//创建两个线程
for(int i =1;i<=2;i++){
new Thread(
new Runnable() {
@Override
public void run() {
data=new Random().nextInt()
System.out.println(Thread.currentThread().getName()+",has put data "+data)
new A().get();
new B().get();
}
}
).start();
}
}
static class A
{
public void get()
{
System.out.println("A form "+Thread.currentThread().getName()+",has get "+data);
}
}
static class B
{
public void get()
{
System.out.println("B form "+Thread.currentThread().getName()+",has get "+data);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2