当前位置: 技术问答>java相关
有没有办法在线程的run()里面改变外面的类的变量的值,有例子
来源: 互联网 发布时间:2015-10-27
本文导语: 如下: public class A extends Thread { int i=0; publci void run() { i=1; } public static void main() { (new A()).start(); System.out.println(i); // ←我想这里的i输出1,有办法吗...
如下:
public class A extends Thread
{
int i=0;
publci void run()
{
i=1;
}
public static void main()
{
(new A()).start();
System.out.println(i); // ←我想这里的i输出1,有办法吗?
}
}
public class A extends Thread
{
int i=0;
publci void run()
{
i=1;
}
public static void main()
{
(new A()).start();
System.out.println(i); // ←我想这里的i输出1,有办法吗?
}
}
|
public class A extends Thread
{
int i=0;
publci void run()
{
i=1;
}
public static void main()
{
A tmp=new A();
tmp.start();
System.out.println(tmp.i); }
}
这样没有问题的。
{
int i=0;
publci void run()
{
i=1;
}
public static void main()
{
A tmp=new A();
tmp.start();
System.out.println(tmp.i); }
}
这样没有问题的。
|
public int i =0;
run(){
a.i=1;
}
public static void main()
{
(new A()).start();
System.out.println(a.i); // ←我想这里的i输出1,有办法吗?
}
run(){
a.i=1;
}
public static void main()
{
(new A()).start();
System.out.println(a.i); // ←我想这里的i输出1,有办法吗?
}
|
你应该将i专门写成一个类。
大致的模式就是线程实例调用i实例的各种方法,包括改变i值的方法。
这种模式在写异步程序的时候很重要
大致的模式就是线程实例调用i实例的各种方法,包括改变i值的方法。
这种模式在写异步程序的时候很重要
|
楼上的也错了