• Java之多线程方式一(继承Thread类)




    /**
    * 多线程的创建,方式一:继承于Thread类
    * 1. 创建一个继承于Thread类的子类
    * 2. 重写Thread类的run() --> 将此线程执行的操作声明在run()中
    * 3. 创建Thread类的子类的对象
    * 4. 通过此对象调用start()
    * <p>
    * 例子:遍历100以内的所有的偶数
    *
    */

    //1. 创建一个继承于Thread类的子类
    class MyThread extends Thread {
    //2. 重写Thread类的run()
    @Override
    public void run() {
    for (int i = 0; i < 100; i++) {
    if(i % 2 == 0){
    System.out.println(Thread.currentThread().getName() + ":" + i);
    }
    }
    }
    }


    public class ThreadTest {
    public static void main(String[] args) {
    //3. 创建Thread类的子类的对象
    MyThread t1 = new MyThread();

    //4.通过此对象调用start():①启动当前线程 ② 调用当前线程的run()
    t1.start();
    //问题一:我们不能通过直接调用run()的方式启动线程。
    // t1.run();

    //问题二:再启动一个线程,遍历100以内的偶数。不可以还让已经start()的线程去执行。会报IllegalThreadStateException
    // t1.start();
    //我们需要重新创建一个线程的对象
    MyThread t2 = new MyThread();
    t2.start();


    //如下操作仍然是在main线程中执行的。
    for (int i = 0; i < 100; i++) {
    if(i % 2 == 0){
    System.out.println(Thread.currentThread().getName() + ":" + i + "***********main()************");
    }
    }
    }

    }
  • 相关阅读:
    Linux 搭建svn环境
    Echarts 获取后台数据 使用后台数据展示 饼装图
    js 实现存储Map 结构的数据
    SVN使用方法
    SVN版本回退
    adf 日志输出
    Oracle ADF VO排序及VO的查询模式
    weblogic 初始化
    jdeveloper 恢复默认配置
    jdeveloper12.1.3的安装与卸载
  • 原文地址:https://www.cnblogs.com/wpy188/p/12094079.html
Copyright © 2020-2023  润新知