Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 283da8a

Browse filesBrowse files
committed
add Netty/FastThreadLocalDmeo
1 parent c64785d commit 283da8a
Copy full SHA for 283da8a

File tree

Expand file treeCollapse file tree

5 files changed

+65
-7
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

5 files changed

+65
-7
lines changed
Open diff view settings
Collapse file
+61Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.bruis.learnnetty.netty.fastthreadlocal;
2+
3+
import io.netty.util.concurrent.FastThreadLocal;
4+
5+
/**
6+
* FastThreadLocal测试类
7+
*
8+
* @author lhy
9+
* @date 2021/7/13
10+
*/
11+
public class FastThreadLocalTest {
12+
13+
/**
14+
* FastThreadLocal对象1
15+
*/
16+
private static FastThreadLocal<Object> threadLocal0 = new FastThreadLocal<Object>() {
17+
@Override
18+
protected Object initialValue() throws Exception {
19+
Object o = new Object();
20+
System.out.println("threadLocal0 initialValue: " + o);
21+
return o;
22+
}
23+
24+
@Override
25+
protected void onRemoval(Object value) throws Exception {
26+
System.out.println("onRemoval");
27+
}
28+
};
29+
30+
private static FastThreadLocal<Object> threadLocal1 = new FastThreadLocal<Object>() {
31+
@Override
32+
protected Object initialValue() throws Exception {
33+
Object o = new Object();
34+
System.out.println("threadLocal1 initialValue: " + o);
35+
return o;
36+
}
37+
};
38+
39+
public static void main(String[] args) {
40+
new Thread(() -> {
41+
Object object0 = threadLocal0.get();
42+
System.out.println(Thread.currentThread().getName() + "---> " + object0);
43+
44+
threadLocal0.set(new Object());
45+
}) .start();
46+
47+
new Thread(() -> {
48+
Object object0 = threadLocal0.get();
49+
System.out.println(Thread.currentThread().getName() + "---> " + object0);
50+
51+
while (true) {
52+
System.out.println(Thread.currentThread().getName() + "---> " + (threadLocal0.get() == object0));
53+
try {
54+
Thread.sleep(1000);
55+
} catch (Exception e) {
56+
e.printStackTrace();
57+
}
58+
}
59+
}).start();
60+
}
61+
}
Collapse file

‎…learnnetty/netty/demo01/NettyClient.java‎ ‎…nnetty/netty/quickstart/NettyClient.java‎Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/NettyClient.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyClient.java Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/NettyClient.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyClient.java

Copy file name to clipboardExpand all lines: Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyClient.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.bruis.learnnetty.netty.demo01;
1+
package com.bruis.learnnetty.netty.quickstart;
22

33
import io.netty.bootstrap.Bootstrap;
44
import io.netty.channel.ChannelFuture;
Collapse file

‎…tty/netty/demo01/NettyClientHandler.java‎ ‎…netty/quickstart/NettyClientHandler.java‎Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/NettyClientHandler.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyClientHandler.java Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/NettyClientHandler.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyClientHandler.java

Copy file name to clipboardExpand all lines: Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyClientHandler.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.bruis.learnnetty.netty.demo01;
1+
package com.bruis.learnnetty.netty.quickstart;
22

33
import io.netty.buffer.ByteBuf;
44
import io.netty.buffer.Unpooled;
Collapse file

‎…tty/netty/demo01/NettyServerHandler.java‎ ‎…netty/quickstart/NettyServerHandler.java‎Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/NettyServerHandler.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyServerHandler.java Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/NettyServerHandler.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyServerHandler.java

Copy file name to clipboardExpand all lines: Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/NettyServerHandler.java
+1-4Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
package com.bruis.learnnetty.netty.demo01;
1+
package com.bruis.learnnetty.netty.quickstart;
22

3-
import io.netty.buffer.ByteBuf;
43
import io.netty.buffer.Unpooled;
5-
import io.netty.channel.Channel;
64
import io.netty.channel.ChannelHandlerContext;
75
import io.netty.channel.ChannelInboundHandlerAdapter;
8-
import io.netty.channel.ChannelPipeline;
96
import io.netty.util.CharsetUtil;
107

118
import java.util.concurrent.TimeUnit;
Collapse file

‎…ruis/learnnetty/netty/demo01/Server.java‎ ‎…/learnnetty/netty/quickstart/Server.java‎Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/Server.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/Server.java Spring-Netty/src/main/java/com/bruis/learnnetty/netty/demo01/Server.java renamed to Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/Server.java

Copy file name to clipboardExpand all lines: Spring-Netty/src/main/java/com/bruis/learnnetty/netty/quickstart/Server.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.bruis.learnnetty.netty.demo01;
1+
package com.bruis.learnnetty.netty.quickstart;
22

33
import io.netty.bootstrap.ServerBootstrap;
44
import io.netty.channel.ChannelFuture;

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.