blob: a36a40c7edae2cc635121ba4bcb8af3a7ee7c502 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package java.lang
class ThreadLocal[T] {
private var hasValue: Boolean = false
private var v: T = _
protected def initialValue(): T = null.asInstanceOf[T]
def get(): T = {
if (!hasValue)
set(initialValue)
v
}
def set(o: T): Unit = {
v = o
hasValue = true
}
def remove(): Unit = {
hasValue = false
v = null.asInstanceOf[T] // for gc
}
}
|