diff --git a/pom.xml b/pom.xml
index ce20fea..bd6d03c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,32 +26,25 @@
UTF-8
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
-
- org.projectlombok
- lombok
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- org.projectlombok
- lombok
-
-
-
-
-
-
+
+
+ org.projectlombok
+ lombok
+ 1.18.36
+
+
+
+ org.slf4j
+ slf4j-api
+ 2.0.16
+
+
+
+ org.slf4j
+ slf4j-simple
+ 2.0.16
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/feture/feture/MyFutureTask.java b/src/main/java/feture/feture/MyFutureTask.java
new file mode 100644
index 0000000..b056f9a
--- /dev/null
+++ b/src/main/java/feture/feture/MyFutureTask.java
@@ -0,0 +1,22 @@
+package feture.feture;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.FutureTask;
+
+public class MyFutureTask {
+ public static void main(String[] args) {
+ FutureTask futureTask = new FutureTask<>(new Callable<>() {
+
+ /**
+ * Computes a result, or throws an exception if unable to do so.
+ *
+ * @return computed result
+ * @throws Exception if unable to compute a result
+ */
+ @Override
+ public Integer call() throws Exception {
+ return 0;
+ }
+ });
+ }
+}
diff --git a/src/main/java/feture/feture_2/MyFutureTask.java b/src/main/java/feture/feture_2/MyFutureTask.java
new file mode 100644
index 0000000..1d0dcb8
--- /dev/null
+++ b/src/main/java/feture/feture_2/MyFutureTask.java
@@ -0,0 +1,22 @@
+package feture.feture_2;
+
+import java.util.concurrent.Callable;
+import java.util.concurrent.FutureTask;
+
+public class MyFutureTask {
+ public static void main(String[] args) {
+ FutureTask futureTask = new FutureTask<>(new Callable<>() {
+
+ /**
+ * Computes a result, or throws an exception if unable to do so.
+ *
+ * @return computed result
+ * @throws Exception if unable to compute a result
+ */
+ @Override
+ public Integer call() throws Exception {
+ return 0;
+ }
+ });
+ }
+}
diff --git a/src/main/java/thead/feture/FutureTask.java b/src/main/java/thead/feture/FutureTask.java
deleted file mode 100644
index 6290189..0000000
--- a/src/main/java/thead/feture/FutureTask.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package thead.feture;
-
-public class FutureTask {
-}
diff --git a/src/main/java/thead/thread_4/Application.java b/src/main/java/thead/thread_4/Application.java
index de63810..ad69e16 100644
--- a/src/main/java/thead/thread_4/Application.java
+++ b/src/main/java/thead/thread_4/Application.java
@@ -2,12 +2,20 @@ package thead.thread_4;
public class Application {
// 有线程安全的操作
- public static void main(String[] args) {
+ public static void main(String[] args) throws InterruptedException {
MyThread t1 = new MyThread("t1");
MyThread t2 = new MyThread("t2");
MyThread t3 = new MyThread("t3");
+ System.out.println("是否中断:" + t1.isInterrupted());
+
t1.start();
t2.start();
t3.start();
+
+ Thread.sleep(100);
+ System.out.println("是否中断:" + t1.isInterrupted());
+
+ t1.interrupt();
+ System.out.println("是否中断:" + t1.isInterrupted());
}
}
diff --git a/src/main/java/thead/thread_5/Application3.java b/src/main/java/thead/thread_5/Application3.java
new file mode 100644
index 0000000..bf55585
--- /dev/null
+++ b/src/main/java/thead/thread_5/Application3.java
@@ -0,0 +1,12 @@
+package thead.thread_5;
+
+public class Application3 {
+ public static void main(String[] args) throws InterruptedException {
+ MyThread thread = new MyThread();
+ thread.start();
+ Thread.sleep(100);
+ thread.interrupt();
+ System.out.println("是否中断1:" + thread.isInterrupted());
+ System.out.println("是否中断2:" + thread.isInterrupted());
+ }
+}
diff --git a/src/main/java/thead/thread_5/MyThread.java b/src/main/java/thead/thread_5/MyThread.java
new file mode 100644
index 0000000..d32bf84
--- /dev/null
+++ b/src/main/java/thead/thread_5/MyThread.java
@@ -0,0 +1,11 @@
+package thead.thread_5;
+
+public class MyThread extends Thread {
+ @Override
+ public void run() {
+ super.run();
+ for (int i = 0; i < 500000; i++) {
+ System.out.println("i=" + (i + 1));
+ }
+ }
+}
diff --git a/src/main/java/thead/thread_5/MyThreadTest1.java b/src/main/java/thead/thread_5/MyThreadTest1.java
new file mode 100644
index 0000000..942c36d
--- /dev/null
+++ b/src/main/java/thead/thread_5/MyThreadTest1.java
@@ -0,0 +1,28 @@
+package thead.thread_5;
+
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+public class MyThreadTest1 {
+ public static void main(String[] args) throws InterruptedException {
+
+ Thread thread = new Thread("t1") {
+ @SneakyThrows
+ @Override
+ public void run() {
+ super.run();
+ Thread.sleep(2000);
+ }
+ };
+
+ thread.start();
+ log.info("t1:{}", thread.getState());
+
+ Thread.sleep(500);
+ log.info("t1-2:{}", thread.getState());
+
+ thread.setDaemon(true);
+ }
+}
+