………………
每个线程初始值都是0,之后每个线程独立计算,每个线程都是一个新得Val对象,从0开始计算,然后把计算得结果保存到自己得ThreadLocal中,互相不影响,之后从set中取出
initialValue起初始化作用只运行一次,每个Thread对应的Val对象的初始值确实都设为了0,没问题