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

1:继承Thread类的创建线程
(1)实例变量

运行结果:

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

运行结果:

从上图可以看出,A和B总共执行了5次,得出:由继承Thread类创建的线程,类变量共享。

2:实现Runnable接口的创建线程
(1)实例变量

执行结果:

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

执行结果:

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

最后!!!
我们看看实现Runable接口创建的线程,不同对象所创建的线程,实例变量是否共享

执行结果(3个线程各执行10次,截图不全):

由结果可知,即使是实现Runnable接口所创建的线程,也不一定是实例变量共享的,要看线程是不是同一对象创建的。

猜你喜欢

转载自www.cnblogs.com/xm970829/p/12980566.html