diff --git a/shiro-quickstart/src/test/java/test/LoginShiro.java b/shiro-quickstart/src/test/java/test/LoginShiro.java
index 6b02109..8582a34 100644
--- a/shiro-quickstart/src/test/java/test/LoginShiro.java
+++ b/shiro-quickstart/src/test/java/test/LoginShiro.java
@@ -20,6 +20,9 @@ import org.junit.jupiter.api.Test;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
/**
*
@@ -42,7 +45,6 @@ public class LoginShiro {
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
session.setAttribute("key", "value");
-
String key = (String) session.getAttribute("key");
System.out.println("key 值:" + key);
@@ -51,9 +53,21 @@ public class LoginShiro {
UsernamePasswordToken token = new UsernamePasswordToken("system", "system");
try {
currentUser.login(token);
+
new Thread(() -> {
System.out.println("登陆成功,登录用户"+SecurityUtils.getSubject().getPrincipals());
}).start();
+
+// ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 10,
+// 10L, TimeUnit.MILLISECONDS,
+// new LinkedBlockingQueue());
+//
+// for (int i = 0; i < 10; i++) {
+// executor.execute(()->{
+// System.out.println(SecurityUtils.getSubject().getPrincipals());
+// });
+// }
+
} catch (UnknownAccountException uae) {
log.info("无此用户,用户名: " + token.getPrincipal());
} catch (IncorrectCredentialsException ice) {
diff --git a/shiro-quickstart/src/test/java/test/thread/TestThreadLocal.java b/shiro-quickstart/src/test/java/test/thread/TestThreadLocal.java
new file mode 100644
index 0000000..8a0e12a
--- /dev/null
+++ b/shiro-quickstart/src/test/java/test/thread/TestThreadLocal.java
@@ -0,0 +1,69 @@
+package test.thread;
+
+import org.apache.shiro.SecurityUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.*;
+
+/**
+ *
+ *
+ * @author sunzhiqiang23
+ * @date 2020-06-11 22:40
+ */
+public class TestThreadLocal {
+ static ThreadPoolExecutor executor = new ThreadPoolExecutor(2, 2,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue());
+
+
+ public static void main(String[] args) {
+ ThreadLocal