暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ThreadLocal详细的使用

吉林乌拉 2019-05-09
61

我们知道在Java中用static关键字可以实现变量的共享,那么在多线程环境中可以用ThreadLocal让每一个线程都有自己的私用数据。首先我们先看一下共享变量的实例。

我们看因为count变量是共享变量,所以在两个线程中操作的是同一个count实例变量,所以输出的时候第二个线程输出2。下面我们创建一个ThreadLocal变量来看一下它的效果。

我们看到localCount的输出都是1,这是由ThreadLocal的特性决定的。用ThreadLocal修饰的数据,每一个线程都是独立的一份,所以线程1在向ThreadLocal数据set()的时候,线程二的ThreadLocal数据还是为空。所以每次操作都是自己的那个,所以输出都是1。在实际多线程的开发中,常用ThreadLocal解决同一份数据处理不同业务的情况。因为它们彼此之间不会互相影响。


文章转载自吉林乌拉,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论