继承Thread类和实现Runnable接口创建的线程对于实例变量和类变量的共享

2021-01-22 16:13

阅读:429

1:继承Thread类的创建线程
(1)实例变量
技术图片
运行结果:
技术图片

从上图可以看出,A线程和B线程各执行5次,得出:由继承Thread类创建的线程,实例变量并不共享。
(2)类变量(静态变量)
技术图片
运行结果:
技术图片
从上图可以看出,A和B总共执行了5次,得出:由继承Thread类创建的线程,类变量共享。

2:实现Runnable接口的创建线程
(1)实例变量
技术图片
执行结果:
技术图片
从上图我们可以看到,三个线程总共执行了10次,得出:由实现Runnable接口创建的线程,实例变量是共享的(不过需要注意的是,得是同一个对象创建的不同线程)
(2)类变量
技术图片
执行结果:
技术图片

由上图可以看出,所有线程也是只是执行了10次,得出:由实现Runnable接口创建的线程,类变量是共享的。

最后!!!
我们看看实现Runable接口创建的线程,不同对象所创建的线程,实例变量是否共享
技术图片
执行结果(3个线程各执行10次,截图不全):
技术图片
由结果可知,即使是实现Runnable接口所创建的线程,也不一定是实例变量共享的,要看线程是不是同一对象创建的。


评论


亲,登录后才可以留言!