码迷,mamicode.com
首页 > 编程语言 > 详细

多线程的创建和使用

时间:2020-03-04 23:38:49      阅读:113      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!