java runnable共享的内容是什么?

iamzhoug37 iamzhoug37 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我提一个比较蠢的问题, 就是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不是可以共享成员变量吗?
...全文
评论 9
收藏 已收藏
分享
返回顶部
iamzhoug37
Java SE 62,620 成员 307,251 内容