diff --git a/s-day06/src/com/inmind/thread01/Demo01.java b/s-day06/src/com/inmind/thread01/Demo01.java index 598ed4d..c8541e5 100644 --- a/s-day06/src/com/inmind/thread01/Demo01.java +++ b/s-day06/src/com/inmind/thread01/Demo01.java @@ -12,7 +12,7 @@ package com.inmind.thread01; public static Thread currentThread() :获取到当前正在执行的线程对象。(重点) */ public class Demo01 { - public static void main(String[] args) throws InterruptedException { + public static void main(String[] args) throws Exception { /* public Thread() :分配一个新的线程对象。 Thread-0-1-2:无参构造的线程名称 @@ -31,7 +31,7 @@ public class Demo01 { 想让当前线程暂停10毫秒,再执行 public static void sleep(long millis) :使当前正在执行的线程以指定的毫秒数暂停(暂时停止执行)。 */ - //Thread.sleep(10); + Thread.sleep(10); /* 主线程的名称到底叫什么???获取主线程对象,调用它的getName即可 public static Thread currentThread() :获取到当前正在执行的线程对象。(重点) diff --git a/s-day06/src/com/inmind/thread_runnable02/Demo02.java b/s-day06/src/com/inmind/thread_runnable02/Demo02.java new file mode 100644 index 0000000..67982ec --- /dev/null +++ b/s-day06/src/com/inmind/thread_runnable02/Demo02.java @@ -0,0 +1,21 @@ +package com.inmind.thread_runnable02; +/* + 启动多线程的方式二(重点) + 1.定义一个实现类实现Runnable + 2.实现抽象方法run方法 + 3.创建出实现类对象,并将Runnable实现类作为创建Thread对象的参数 + 4.调用start,启动线程执行run方法 + */ +public class Demo02 { + public static void main(String[] args) { + //创建线程任务类对象 + MyRunnable myRunnable = new MyRunnable(); + //创建线程对象,构造方法中传递线程任务对象 + Thread thread = new Thread(myRunnable, "线程666"); + thread.start(); + for (int i = 0; i < 1000; i++) { + System.out.println("hello java"); + } + System.out.println("程序结束"); + } +} diff --git a/s-day06/src/com/inmind/thread_runnable02/MyRunnable.java b/s-day06/src/com/inmind/thread_runnable02/MyRunnable.java new file mode 100644 index 0000000..082af84 --- /dev/null +++ b/s-day06/src/com/inmind/thread_runnable02/MyRunnable.java @@ -0,0 +1,11 @@ +package com.inmind.thread_runnable02; +//只有Thread类的子类才是一个线程类,当前MyRunnable实现类只是在实现run方法,所以当前类是一个线程任务类,可以交给线程去执行 +//线程任务类 +public class MyRunnable implements Runnable{ + @Override + public void run() {//线程任务代码 + for (int i = 0; i < 1000; i++) { + System.out.println(Thread.currentThread().getName()+"----"+i); + } + } +}