## ScopeProperty(作用域属性) 作用域属性是一种可以在当前线程本地存储值的物体。它的API可用于设置/获知该值, 但也可用于以堆栈方式修改部分执行的值。 换而言之, 这是一种对全局变量、Scala隐式声明(Implicit)以及线程本地(ThredLocal)的代替品。 + 相比于全局变量, 它允许多个运行相同代码的不同线程独立运行 + 相比于Scala Implicit, 它对代码库的干扰更小 + 相比于ThreadLocal, 它拥有一些API来收集所有ScopeProperty, 并在稍后将它们恢复到相同的状态 ```Scala object Xlen extends ScopeProperty[Int] object ScopePropertyMiaou extends App{ Xlen.set(1) println(Xlen.get) //1 Xlen(2){ println(Xlen.get) //2 Xlen(3){ println(Xlen.get) //3 Xlen.set(4) println(Xlen.get) //4 } println(Xlen.get) //2 } } ```