• 多线程_02_线程创建


    java常见的创建线程的方式有三种,进阶一点还可以采用线程池进行创建,但是本质上是一样的。

    基础的创建线程通常继承Thread类,实现Runnable和Callable接口的方式也是通过实现类对象作为Thread构造方法的参数的形式进行使用。

    三种方法的主要特点:

       Thread 类,只能单继承

       Runnable接口,可以多实现

     Callable接口,可以多实现,并且可以抛出异常 和有 返回值

    1. 继承类Thread

    public class MyThread extends Thread {
        @Override
        public void run() {
            super.run();
            System.out.println("通过继承Thread创建的线程,线程名称为:" + Thread.currentThread().getName());
            System.out.println("通过继承Thread创建的线程,线程名称为:" + this.getName());
        }
    }
    

    调用方式:

    MyThread myThread = new MyThread();
    myThread.setName("thread");
    myThread.start();

    2. 实现接口Runnable

    Runnable接口截图:

    实现Runnable接口:

    package com.ahd.study;
    
    public class MyRunnable implements Runnable {
        @Override
        public void run() {
            System.out.println("通过实现Runnable接口创建的线程,线程名称为:" + Thread.currentThread().getName());
        }
    }
    

    调用:

    MyRunnable myRunnable = new MyRunnable();
    Thread thread = new Thread(myRunnable);
    thread.setName("runnable");
    thread.start();

    3. 实现接口Callable(callable实现了Runnable接口)

    Callable接口截图:

     实现Callable类:

    package com.ahd.study;
    
    import java.util.concurrent.Callable;
    
    public class MyCallable implements Callable{
        @Override
        public Object call() throws Exception {
            System.out.println("通过实现Callable创建的线程,线程名称为:" + Thread.currentThread().getName());
            return null;
        }
    }

    调用:

    MyCallable myCallable = new MyCallable();
    FutureTask task = new FutureTask(myCallable);
    Thread thread1 = new Thread(task);
    thread1.setName("callable");
    thread1.start();
  • 相关阅读:
    JavaScript getElementByID() not working
    [转] 从此不再惧怕URI编码:JavaScript及C# URI编码详解
    win 8.1 突然没有了声音 -- 解决办法
    升级打怪第一天 -------字符串重复
    Flex布局
    HTML 的全局事件属性
    CSS position 相对定位和绝对定位
    将1100秒转换为分秒格式
    新手小白的上路之旅
    谈谈我对Manacher算法的理解
  • 原文地址:https://www.cnblogs.com/aihuadung/p/13153065.html
Copyright © 2020-2023  润新知