标签:ext java 实现 分配 结束 方法 -- imp ble
package com.ruizhukai.demo01; public class TestThread2 { /* 第一步:继承java.lang.Thread 第二步:重写run方法 三个知识点: 如何定义线程? 如何创建线程? 如何启动线程 */ public static void main(String[]args){ long startTime = System.currentTimeMillis(); //创建线程 Thread t = new Prooessor(); //启动线程 t.start();//这段代码执行瞬间消失,告诉JVM再分配一个新的栈给t线程 //这是个普通方法调用,这样做程序只有一个线程,run方法结束后,下面程序才能继续执行 t.run(); //run()不需要程序员手动调用,系统线程启动之后自动调用run方法 for (int i = 0; i < 1000; i++) { System.out.println("主线程-->" + i); } long endTime = System.currentTimeMillis(); System.out.println("总共耗时"+(endTime-startTime) + "ms"); } } class Prooessor extends Thread{ //继承Thread类重写run方法 public void run(){ for (int i = 0; i < 100; i++) { System.out.println("run---------->" + i); } } }
--------------------------------------------------------------------------------------------
package com.ruizhukai.demo01;
/*
*第二种实现方式
* */
//第一步;写一个类实现java.lang.Runnable接口
//第二步;实现run方法
import org.junit.Test;
public class TestThread3{
public static void main(String[] args) {
//创建线程
Thread t = new Thread(new Prooessor1());
//启动
t.start();
for (int i = 0; i < 100; i++) {
System.out.println("主线程-->" + i);
}
}
}
//这种方式比较好 因为一个类实现接口之外保留了类的继承
class Prooessor1 implements Runnable{
@Override
public void run() {
for (int i = 0; i <100; i++) {
System.out.println("run---->" + i);
}
}
}
标签:ext java 实现 分配 结束 方法 -- imp ble
原文地址:https://www.cnblogs.com/rzkwz/p/12416626.html