随后一尘写了给service加锁的代码
这样并发的时候就不会出问题了
ThreadLocal你想一下,如果线程1 在执行 before()的时候,把当前时间放到自己内部的某个地方,变成私有的,然后继续执行,等到执行 after() 的时候再把之前存储的时间拿出来,这样不就解决了并发的问题了。
因为这样一来,每个线程在执行before()的时候,把当前时间存到自己内部的某个地方,别的线程根本访问不了,也修改不了。
就像下图这样:
把当前时间存放到 value 里面去。用的时候拿出来,每个线程都有自己的value,不同线程互不干预。