Thread类的常用方法_sleep与创建多线程程序的第二种方式_实现Runnable接口
Thread类的常用方法_sleep
sleep介绍
sleep() 定义在Thread.java中,sleep() 的作用是让当前线程休眠,即当前线程会从“运行状态”进入到“休眠(阻塞)状态”。sleep()会指定休眠时间,线程休眠的时间会大于/等于该指定休眠时间;在线程重新被唤醒时,它会由“阻塞状态”变成“就绪状态”,从而等待cpu的调度执行
package Demo01_Sleep; /* public static void sleep(Long millis) :使当前正在执行的线程以指定的毫秒数暂停〈暂时停止执行) 毫秒数结束之后,线程继续执行 */ public class Demo_01_Sleep { public static void main(String[] args) throws InterruptedException { //模拟秒表 for (int i = 1; i < 60; i++) { System.out.println(i); ////使用Thread类的sleep方法让程序睡眠1秒钟 Thread.sleep(1000); } } }
创建多线程程序的第二种方式_实现Runnable接口
采用`java.lang.Runnable`也是非常常见的一种,我们只需要重写run方法即可。步骤如下∶
1.定义Runnable接口的实现类,并重写该接口的run()方法,该run()方法的方法体同样是该线程的线程执行体。
2.创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。
3.调用线程对象的start()方法来启动线程。
package Demo01_Sleep; /* 创建多线程程序的第二种方式:实现RunnabLe接口java.Lang. RunnabLe Runnable接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为 run的无参数方法。 java.Lang.Thread类的构造方法 Thread ( Runnable target)分配新的Thread对象。 Thread ( Runnable target, string name)分配新的Thread对象。 实现步骤: 1.创隍一个Runnable接口的实现类 2.在实现类中重写Runnable接口的run方法,设置线程任务 3.创建一个Runnable接口的实现类对象 4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象 5.调用Thread类中的start方法,开启新的线程执行run方法 */ public class Demo01_Runnble01 { public static void main(String[] args) { //3.创建一个Runnable接口的实现类对象 Demo01_Runnble runnble = new Demo01_Runnble(); //4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象 Thread thread = new Thread(runnble); //5.调用Thread类中的start方法,开启新的线程执行run方法 thread.start(); for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName()+"-->"+i); } } }
package Demo01_Sleep; ///1.创建一个Runnable接口的实现类 public class Demo01_Runnble implements Runnable { //在实现类中重写RunnabLe接口的run方法,设置线程任务 public static void main(String[] args) { } @Override public void run() { for (int i = 0; i < 20; i++) { System.out.println(Thread.currentThread().getName()+"-->"+i); } } }