Skip to content

Commit 7b671f2

Browse files
authored
Merge pull request Snailclimb#1191 from JoeMinty/patch-6
Update 万字详解ThreadLocal关键字.md
2 parents 95ee1be + fdcf167 commit 7b671f2

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

docs/java/multi-thread/万字详解ThreadLocal关键字.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ public void set(T value) {
186186
}
187187

188188
void createMap(Thread t, T firstValue) {
189-
t.threadLocals = new `ThreadLocalMap`(this, firstValue);
189+
t.threadLocals = new ThreadLocalMap(this, firstValue);
190190
}
191191
```
192192

@@ -338,7 +338,7 @@ private void set(ThreadLocal<?> key, Object value) {
338338
for (Entry e = tab[i];
339339
e != null;
340340
e = tab[i = nextIndex(i, len)]) {
341-
`ThreadLocal`<?> k = e.get();
341+
ThreadLocal<?> k = e.get();
342342

343343
if (k == key) {
344344
e.value = value;
@@ -420,7 +420,7 @@ private void replaceStaleEntry(ThreadLocal<?> key, Object value,
420420
(e = tab[i]) != null;
421421
i = nextIndex(i, len)) {
422422

423-
`ThreadLocal`<?> k = e.get();
423+
ThreadLocal<?> k = e.get();
424424

425425
if (k == key) {
426426
e.value = value;
@@ -551,7 +551,7 @@ private int expungeStaleEntry(int staleSlot) {
551551
for (i = nextIndex(staleSlot, len);
552552
(e = tab[i]) != null;
553553
i = nextIndex(i, len)) {
554-
`ThreadLocal`<?> k = e.get();
554+
ThreadLocal<?> k = e.get();
555555
if (k == null) {
556556
e.value = null;
557557
tab[i] = null;
@@ -602,7 +602,7 @@ if (h != i) {
602602

603603
### `ThreadLocalMap`扩容机制
604604

605-
在``ThreadLocalMap.set()`方法的最后,如果执行完启发式清理工作后,未清理到任何数据,且当前散列数组中`Entry`的数量已经达到了列表的扩容阈值`(len*2/3)`,就开始执行`rehash()`逻辑:
605+
在`ThreadLocalMap.set()`方法的最后,如果执行完启发式清理工作后,未清理到任何数据,且当前散列数组中`Entry`的数量已经达到了列表的扩容阈值`(len*2/3)`,就开始执行`rehash()`逻辑:
606606

607607
```java
608608
if (!cleanSomeSlots(i, sz) && sz >= threshold)
@@ -653,7 +653,7 @@ private void resize() {
653653
for (int j = 0; j < oldLen; ++j) {
654654
Entry e = oldTab[j];
655655
if (e != null) {
656-
`ThreadLocal`<?> k = e.get();
656+
ThreadLocal<?> k = e.get();
657657
if (k == null) {
658658
e.value = null;
659659
} else {
@@ -711,7 +711,7 @@ private Entry getEntryAfterMiss(ThreadLocal<?> key, int i, Entry e) {
711711
int len = tab.length;
712712

713713
while (e != null) {
714-
`ThreadLocal`<?> k = e.get();
714+
ThreadLocal<?> k = e.get();
715715
if (k == key)
716716
return e;
717717
if (k == null)
@@ -773,7 +773,7 @@ public class InheritableThreadLocalDemo {
773773
new Thread(new Runnable() {
774774
@Override
775775
public void run() {
776-
System.out.println("子线程获取父类`ThreadLocal`数据" + `ThreadLocal`.get());
776+
System.out.println("子线程获取父类ThreadLocal数据" + ThreadLocal.get());
777777
System.out.println("子线程获取父类inheritableThreadLocal数据:" + inheritableThreadLocal.get());
778778
}
779779
}).start();
@@ -784,7 +784,7 @@ public class InheritableThreadLocalDemo {
784784
打印结果:
785785

786786
```java
787-
子线程获取父类`ThreadLocal`数据null
787+
子线程获取父类ThreadLocal数据null
788788
子线程获取父类inheritableThreadLocal数据:父类数据:inheritableThreadLocal
789789
```
790790

0 commit comments

Comments
 (0)