From 96f4d22f40d304b0969f08391491e098711cca41 Mon Sep 17 00:00:00 2001 From: wangkun <705589107@qq.com> Date: Mon, 9 Nov 2020 09:27:43 +0800 Subject: [PATCH] fix --- 03concurrency/0301/pom.xml | 24 ------ .../java/java0/conc0301/DaemonThread.java | 25 ------- .../src/main/java/java0/conc0301/Runner1.java | 11 --- .../src/main/java/java0/conc0301/Runner2.java | 21 ------ .../main/java/java0/conc0301/RunnerMain.java | 25 ------- .../src/main/java/java0/conc0301/ThreadA.java | 14 ---- .../src/main/java/java0/conc0301/ThreadB.java | 26 ------- .../src/main/java/java0/conc0301/ThreadC.java | 16 ---- .../main/java/java0/conc0301/ThreadMain.java | 32 -------- .../main/java/java0/conc0301/ThreadMain2.java | 39 ---------- .../src/main/java/java0/conc0301/op/Join.java | 50 ------------- .../java/java0/conc0301/op/WaitAndNotify.java | 73 ------------------- .../java/java0/conc0301/sync/Counter.java | 44 ----------- .../java/java0/conc0301/sync/Thread1.java | 22 ------ .../java/java0/conc0301/sync/Thread2.java | 46 ------------ .../java/java0/conc0301/sync/Thread3.java | 55 -------------- .../threadpool/ExecutorServiceDemo.java | 26 ------- .../threadpool/NewCachedThreadPoolDemo.java | 35 --------- .../NewFixedThreadExecutorDemo.java | 27 ------- .../NewScheduledThreadExecutorDemo.java | 37 ---------- .../NewSingleThreadExecutorDemo.java | 29 -------- 21 files changed, 677 deletions(-) delete mode 100644 03concurrency/0301/pom.xml delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/DaemonThread.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/Runner1.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/Runner2.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/RunnerMain.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/ThreadA.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/ThreadB.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/ThreadC.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/ThreadMain.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/ThreadMain2.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/op/Join.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/op/WaitAndNotify.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/sync/Counter.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/sync/Thread1.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/sync/Thread2.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/sync/Thread3.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/threadpool/ExecutorServiceDemo.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewCachedThreadPoolDemo.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewFixedThreadExecutorDemo.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewScheduledThreadExecutorDemo.java delete mode 100644 03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewSingleThreadExecutorDemo.java diff --git a/03concurrency/0301/pom.xml b/03concurrency/0301/pom.xml deleted file mode 100644 index 55691a2d..00000000 --- a/03concurrency/0301/pom.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - 4.0.0 - - java0.03concurrency - 0301 - 1.0 - - - - org.apache.maven.plugins - maven-compiler-plugin - - 8 - 8 - - - - - - - \ No newline at end of file diff --git a/03concurrency/0301/src/main/java/java0/conc0301/DaemonThread.java b/03concurrency/0301/src/main/java/java0/conc0301/DaemonThread.java deleted file mode 100644 index 8d985a55..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/DaemonThread.java +++ /dev/null @@ -1,25 +0,0 @@ -package java0.conc0301; - -public class DaemonThread { - - public static void main(String[] args) { - Runnable task = new Runnable() { - @Override - public void run() { - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - Thread t = Thread.currentThread(); - System.out.println("当前线程:" + t.getName()); - } - }; - Thread thread = new Thread(task); - thread.setName("test-thread-1"); - thread.setDaemon(true); - thread.start(); - } - - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/Runner1.java b/03concurrency/0301/src/main/java/java0/conc0301/Runner1.java deleted file mode 100644 index 1e6657bf..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/Runner1.java +++ /dev/null @@ -1,11 +0,0 @@ -package java0.conc0301; - -public class Runner1 implements Runnable { - - @Override - public void run() { - for (int i = 0; i < 100; i++) { - System.out.println("进入Runner1运行状态——————————" + i); - } - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/Runner2.java b/03concurrency/0301/src/main/java/java0/conc0301/Runner2.java deleted file mode 100644 index c9ff3b96..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/Runner2.java +++ /dev/null @@ -1,21 +0,0 @@ -package java0.conc0301; - -public class Runner2 implements Runnable { - - @Override - public void run() { - for (int i = 0; i < 100; i++) { - System.out.println("进入Runner2运行状态——————————" + i); - } - - boolean result = Thread.currentThread().isInterrupted(); - - boolean result1 = Thread.interrupted(); // 重置状态 - - boolean result3 = Thread.currentThread().isInterrupted(); - - System.out.println("Runner2.run result ===>" + result); - System.out.println("Runner2.run result1 ===>" + result1); - System.out.println("Runner2.run result3 ===>" + result3); - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/RunnerMain.java b/03concurrency/0301/src/main/java/java0/conc0301/RunnerMain.java deleted file mode 100644 index 4526412e..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/RunnerMain.java +++ /dev/null @@ -1,25 +0,0 @@ - -package java0.conc0301; - -public class RunnerMain { - - public static void main(String[] args) { - - Runner1 runner1 = new Runner1(); - Thread thread1 = new Thread(runner1); - - Runner2 runner2 = new Runner2(); - Thread thread2 = new Thread(runner2); - - thread1.start(); - thread2.start(); - - thread2.interrupt(); - - System.out.println(Thread.activeCount()); - -// Thread.currentThread().getThreadGroup().list(); -// System.out.println(Thread.currentThread().getThreadGroup().getParent().activeGroupCount()); -// Thread.currentThread().getThreadGroup().getParent().list(); - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/ThreadA.java b/03concurrency/0301/src/main/java/java0/conc0301/ThreadA.java deleted file mode 100644 index 50e548f6..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/ThreadA.java +++ /dev/null @@ -1,14 +0,0 @@ -package java0.conc0301; - -public class ThreadA extends Thread { - - public void run() { - super.run(); - try { - Thread.sleep(500); - } catch (InterruptedException e) { - e.printStackTrace(); - } - System.out.println("这是线程A"); - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/ThreadB.java b/03concurrency/0301/src/main/java/java0/conc0301/ThreadB.java deleted file mode 100644 index 0b0ad326..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/ThreadB.java +++ /dev/null @@ -1,26 +0,0 @@ -package java0.conc0301; - -public class ThreadB implements Runnable { - - @Override - public void run() { - try { - Thread.sleep(500); - } catch (InterruptedException e) { - e.printStackTrace(); - } - System.out.println("这是线程B"); - - Thread currentThread = Thread.currentThread(); - String currentThreadName = currentThread.getName(); - - System.out.println("这是线程的名称:" + currentThreadName); - System.out.println("返回当前线程" + currentThreadName + "的线程组中活动线程的数量:" + Thread.activeCount()); - System.out.println("返回该线程" + currentThreadName + "的标识符:" + currentThread.getId()); - System.out.println("返回该线程" + currentThreadName + "的优先级:" + currentThread.getPriority()); - System.out.println("返回该线程" + currentThreadName + "的状态:" + currentThread.getState()); - System.out.println("返回该线程" + currentThreadName + "所属的线程组:" + currentThread.getThreadGroup()); - System.out.println("测试该线程" + currentThreadName + "是否处于活跃状态:" + currentThread.isAlive()); - System.out.println("测试该线程" + currentThreadName + "是否为守护线程:" + currentThread.isDaemon()); - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/ThreadC.java b/03concurrency/0301/src/main/java/java0/conc0301/ThreadC.java deleted file mode 100644 index cc01e3b8..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/ThreadC.java +++ /dev/null @@ -1,16 +0,0 @@ -package java0.conc0301; - -import java.util.concurrent.Callable; - -public class ThreadC implements Callable { - - @Override - public String call() throws Exception { - Thread.sleep(500); - System.out.println("这是线程C"); - return "线程C"; - } - - - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/ThreadMain.java b/03concurrency/0301/src/main/java/java0/conc0301/ThreadMain.java deleted file mode 100644 index 3a12ddb7..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/ThreadMain.java +++ /dev/null @@ -1,32 +0,0 @@ -package java0.conc0301; - -import java.util.concurrent.ExecutionException; -import java.util.concurrent.FutureTask; - -public class ThreadMain { - - public static void main(String[] args) { - - ThreadA threadA = new ThreadA(); - threadA.start(); - System.out.println("这是主线程:"); - - ThreadB threadB = new ThreadB(); - new Thread(threadB).start(); - System.out.println("这是主线程:"); - - ThreadC threadC = new ThreadC(); - FutureTask futureTask = new FutureTask<>(threadC); - new Thread(futureTask).start(); - System.out.println("这是主线程:begin!"); - try { - System.out.println("得到的返回结果是:" + futureTask.get()); - } catch (InterruptedException e) { - e.printStackTrace(); - } catch (ExecutionException e) { - e.printStackTrace(); - } - - } - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/ThreadMain2.java b/03concurrency/0301/src/main/java/java0/conc0301/ThreadMain2.java deleted file mode 100644 index b365b40c..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/ThreadMain2.java +++ /dev/null @@ -1,39 +0,0 @@ -package java0.conc0301; - -public class ThreadMain2 { - - public static void main(String[] args) { - - ThreadB threadB = new ThreadB(); - for (int i = 0; i < 5; i++) { - new Thread(threadB, "线程名称:(" + i + ")").start(); - } - - try { - Thread.sleep(10000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - //返回对当前正在执行的线程对象的引用 - Thread threadMain = Thread.currentThread(); - System.out.println("这是主线程:"); - System.out.println("返回当前线程组中活动线程的数目:" + Thread.activeCount()); - System.out.println("主线程的名称:" + threadMain.getName()); - System.out.println("返回该线程的标识符:" + threadMain.getId()); - System.out.println("返回线程的优先级:" + threadMain.getPriority()); - System.out.println("返回线程的状态:" + threadMain.getState()); - System.out.println("返回该线程所属的线程组:" + threadMain.getThreadGroup()); - System.out.println("测试线程是否为守护线程:" + threadMain.isDaemon()); - - -// try { -// Thread.sleep(10000); -// } catch (InterruptedException e) { -// e.printStackTrace(); -// } - - } - - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/op/Join.java b/03concurrency/0301/src/main/java/java0/conc0301/op/Join.java deleted file mode 100644 index 13fadb19..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/op/Join.java +++ /dev/null @@ -1,50 +0,0 @@ -package java0.conc0301.op; - -public class Join { - - public static void main(String[] args) { - Object oo = new Object(); - - MyThread thread1 = new MyThread("thread1 -- "); - thread1.setOo(oo); - thread1.start(); - - synchronized (oo) { - for (int i = 0; i < 100; i++) { - if (i == 20) { - try { - thread1.join(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - System.out.println(Thread.currentThread().getName() + " -- " + i); - } - } - } - -} - -class MyThread extends Thread { - - private String name; - private Object oo; - - public void setOo(Object oo) { - this.oo = oo; - } - - public MyThread(String name) { - this.name = name; - } - - @Override - public void run() { - synchronized (oo) { - for (int i = 0; i < 100; i++) { - System.out.println(name + i); - } - } - } - -} \ No newline at end of file diff --git a/03concurrency/0301/src/main/java/java0/conc0301/op/WaitAndNotify.java b/03concurrency/0301/src/main/java/java0/conc0301/op/WaitAndNotify.java deleted file mode 100644 index bd3e1e4e..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/op/WaitAndNotify.java +++ /dev/null @@ -1,73 +0,0 @@ -package java0.conc0301.op; - -public class WaitAndNotify { - public static void main(String[] args) { - MethodClass methodClass = new MethodClass(); - Thread t1 = new Thread(() -> { - try { - methodClass.product(); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - }, "t1"); - Thread t2 = new Thread(() -> { - try { - methodClass.customer(); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - }, "t2"); - Thread t3 = new Thread(() -> { - try { - methodClass.customer(); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - }, "t3"); - t1.start(); - t2.start(); - t3.start(); - - } -} - -class MethodClass { - // 定义生产最大量 - private final int MAX_COUNT = 20; - - int productCount = 0; - - public synchronized void product() throws InterruptedException { - while (true) { - System.out.println(Thread.currentThread().getName() + ":::run:::" + productCount); - Thread.sleep(10); - if (productCount >= MAX_COUNT) { - System.out.println("货舱已满,,.不必再生产"); - - wait(); - }else { - productCount++; - } - - notifyAll(); - } - } - - public synchronized void customer() throws InterruptedException { - while (true) { - System.out.println(Thread.currentThread().getName() + ":::run:::" + productCount); - Thread.sleep(10); - if (productCount <= 0) { - System.out.println("货舱已无货...无法消费"); - wait(); - }else { - productCount--; - } - - notifyAll(); - } - } -} \ No newline at end of file diff --git a/03concurrency/0301/src/main/java/java0/conc0301/sync/Counter.java b/03concurrency/0301/src/main/java/java0/conc0301/sync/Counter.java deleted file mode 100644 index a066caf8..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/sync/Counter.java +++ /dev/null @@ -1,44 +0,0 @@ -package java0.conc0301.sync; - -public class Counter { - private int sum = 0; - public void incr() { - sum++; - } - public int getSum() { - return sum; - } - - public static void main(String[] args) throws InterruptedException { - int loop = 10000; - - // test single thread - Counter counter = new Counter(); - for (int i = 0; i < loop; i++) { - counter.incr(); - } - System.out.println("single thread: " + counter.getSum()); - - // test multiple threads - final Counter counter2 = new Counter(); - Thread t1 = new Thread(() -> { - for (int i = 0; i < loop / 2; i++) { - counter2.incr(); - } - }); - Thread t2 = new Thread(() -> { - for (int i = 0; i < loop / 2; i++) { - counter2.incr(); - } - }); - t1.start(); - t2.start(); - //Thread.sleep(300); - while (Thread.activeCount()>2){//当前线程的线程组中的数量>2 - Thread.yield(); - } - System.out.println("multiple threads: " + counter2.getSum()); - - - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread1.java b/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread1.java deleted file mode 100644 index 4dc7513f..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread1.java +++ /dev/null @@ -1,22 +0,0 @@ - -package java0.conc0301.sync; - -public class Thread1 implements Runnable { - - @Override - public void run() { - synchronized (this) { - for (int i = 0; i < 10; i++) { - System.out.println(Thread.currentThread().getName() + " synchronized loop " + i); - } - } - } - - public static void main(String[] args) { - Thread1 t1 = new Thread1(); - Thread ta = new Thread(t1, "A"); - Thread tb = new Thread(t1, "B"); - ta.start(); - tb.start(); - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread2.java b/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread2.java deleted file mode 100644 index d0f0638b..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread2.java +++ /dev/null @@ -1,46 +0,0 @@ - -package java0.conc0301.sync; - -public class Thread2 { - - public void m4t1() { - synchronized (this) { - int i = 5; - while (i-- > 0) { - System.out.println(Thread.currentThread().getName() + " : " + i); - try { - Thread.sleep(500); - } catch (InterruptedException ie) { - } - } - } - } - - public synchronized void m4t2() { - int i = 5; - while (i-- > 0) { - System.out.println(Thread.currentThread().getName() + " : " + i); - try { - Thread.sleep(500); - } catch (InterruptedException ie) { - } - } - } - - public static void main(String[] args) { - final Thread2 myt2 = new Thread2(); - Thread t1 = new Thread(new Runnable() { - public void run() { - myt2.m4t1(); - } - }, "t1"); - Thread t2 = new Thread(new Runnable() { - public void run() { - myt2.m4t2(); - } - }, "t2"); - t2.start(); - t1.start(); - } - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread3.java b/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread3.java deleted file mode 100644 index f9d5d742..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/sync/Thread3.java +++ /dev/null @@ -1,55 +0,0 @@ - -package java0.conc0301.sync; - -public class Thread3 { - class Inner { - private void m4t1() { - int i = 5; - while (i-- > 0) { - System.out.println(Thread.currentThread().getName() + " : Inner.m4t1()=" + i); - try { - Thread.sleep(500); - } catch (InterruptedException ie) { - } - } - } - - private void m4t2() { - int i = 5; - while (i-- > 0) { - System.out.println(Thread.currentThread().getName() + " : Inner.m4t2()=" + i); - try { - Thread.sleep(500); - } catch (InterruptedException ie) { - } - } - } - } - - private void m4t1(Inner inner) { - synchronized (inner) { //使用对象锁 - inner.m4t1(); - } - } - - private void m4t2(Inner inner) { - inner.m4t2(); - } - - public static void main(String[] args) { - final Thread3 myt3 = new Thread3(); - final Inner inner = myt3.new Inner(); - Thread t1 = new Thread(new Runnable() { - public void run() { - myt3.m4t1(inner); - } - }, "t1"); - Thread t2 = new Thread(new Runnable() { - public void run() { - myt3.m4t2(inner); - } - }, "t2"); - t1.start(); - t2.start(); - } -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/ExecutorServiceDemo.java b/03concurrency/0301/src/main/java/java0/conc0301/threadpool/ExecutorServiceDemo.java deleted file mode 100644 index cc777c9a..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/ExecutorServiceDemo.java +++ /dev/null @@ -1,26 +0,0 @@ - -package java0.conc0301.threadpool; - -import java.util.concurrent.Callable; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; - -public class ExecutorServiceDemo { - - public static void main(String[] args) { - ScheduledExecutorService executorService = Executors.newScheduledThreadPool(16); - try { - String str = executorService.submit(new Callable() { - @Override - public String call() throws Exception { - return "I am a task, which submited by the so called laoda, and run by those anonymous workers"; - } - }).get(); - - System.out.println("str=" + str); - } catch (Exception e) { - e.printStackTrace(); - } - } - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewCachedThreadPoolDemo.java b/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewCachedThreadPoolDemo.java deleted file mode 100644 index 69cb8a6e..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewCachedThreadPoolDemo.java +++ /dev/null @@ -1,35 +0,0 @@ - -package java0.conc0301.threadpool; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -public class NewCachedThreadPoolDemo { - - public static void main(String[] args) { - - ExecutorService executorService = Executors.newCachedThreadPool(); - - for (int i = 0; i < 10000; i++) { - final int no = i; - Runnable runnable = new Runnable() { - @Override - public void run() { - try { - System.out.println("start:" + no); - Thread.sleep(1000L); - System.out.println("end:" + no); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - }; - executorService.execute(runnable); - } - executorService.shutdown(); - System.out.println("Main Thread End!"); - - - } - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewFixedThreadExecutorDemo.java b/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewFixedThreadExecutorDemo.java deleted file mode 100644 index 19bc39bc..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewFixedThreadExecutorDemo.java +++ /dev/null @@ -1,27 +0,0 @@ - -package java0.conc0301.threadpool; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -public class NewFixedThreadExecutorDemo { - - public static void main(String[] args) { - ExecutorService executorService = Executors.newFixedThreadPool(16); - for (int i = 0; i < 100; i++) { - final int no = i; - executorService.execute(() -> { - try { - System.out.println("start:" + no); - Thread.sleep(1000L); - System.out.println("end:" + no); - } catch (InterruptedException e) { - e.printStackTrace(); - } - }); - } - executorService.shutdown(); - System.out.println("Main Thread End!"); - } - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewScheduledThreadExecutorDemo.java b/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewScheduledThreadExecutorDemo.java deleted file mode 100644 index 9186d21b..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewScheduledThreadExecutorDemo.java +++ /dev/null @@ -1,37 +0,0 @@ - -package java0.conc0301.threadpool; - -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -public class NewScheduledThreadExecutorDemo { - - public static void main(String[] args) { - - ScheduledExecutorService executorService = Executors.newScheduledThreadPool(16); - - for (int i = 0; i < 100; i++) { - final int no = i; - Runnable runnable = new Runnable() { - @Override - public void run() { - try { - System.out.println("start:" + no); - Thread.sleep(1000L); - System.out.println("end:" + no); - } catch (InterruptedException e) { - e.printStackTrace(); - } - } - }; - // 10s后执行 - executorService.schedule(runnable, 10, TimeUnit.SECONDS); - } - executorService.shutdown(); - System.out.println("Main Thread End!"); - - - } - -} diff --git a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewSingleThreadExecutorDemo.java b/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewSingleThreadExecutorDemo.java deleted file mode 100644 index e328ca83..00000000 --- a/03concurrency/0301/src/main/java/java0/conc0301/threadpool/NewSingleThreadExecutorDemo.java +++ /dev/null @@ -1,29 +0,0 @@ - -package java0.conc0301.threadpool; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -public class NewSingleThreadExecutorDemo { - - public static void main(String[] args) { - - ExecutorService executorService = Executors.newSingleThreadExecutor(); - - for (int i = 0; i < 10; i++) { - final int no = i; - executorService.execute(() -> { - System.out.println("start:" + no); - try { - Thread.sleep(1000L); - } catch (InterruptedException e) { - e.printStackTrace(); - } - System.out.println("end:" + no); - }); - } - executorService.shutdown(); - System.out.println("Main Thread End!"); - } - -}