java runnable共享的内容是什么?
我提一个比较蠢的问题, 就是runnable对象能实现资源共享, 但是这个资源共享包不包括局部变量呢?
我自己实验了一下,
运行的结果如下:

从这儿我猜的runnable对象共享的内容仅限于成员变量, 而不包括局部变量. 不知道这么想的对不对呀?
还有一个问题, 为什么g为0的情况输出了两次?runnable不是可以共享成员变量吗?
我自己实验了一下,
class RunnableTest implements Runnable
{
int g ;
public void run()
{
for(int i=0 ; i<100 ; i++,g++)
{
System.out.println(Thread.currentThread().getName() + "------i " + i + " ------g " + g) ;
}
}
}
public class javatest
{
public static void main(String args[])
{
RunnableTest r = new RunnableTest() ;
Thread t1 = new ThreadTest("线程一" , r) ;
Thread t2 = new ThreadTest("线程二" , r) ;
t1.start() ;
t2.start() ;
}
}运行的结果如下:

从这儿我猜的runnable对象共享的内容仅限于成员变量, 而不包括局部变量. 不知道这么想的对不对呀?
还有一个问题, 为什么g为0的情况输出了两次?runnable不是可以共享成员变量吗?
...全文


Java SE
