zoukankan      html  css  js  c++  java
  • 多线程(一)——三种实现方式

    java中实现多线程的三种方式

    继承Thread类

    public class ExtendsThreadWay extends Thread{
        @Override
        public void run() {//重写 run 方法
            for (int i = 0; i < 10; i++) {
                System.out.println("------多线程-------" + i);
            }
        }
        public static void main(String[] args) {
            ExtendsThreadWay et = new ExtendsThreadWay();
            et.start();
            for (int i = 0; i < 10; i++) {
                System.out.println("主线程" + i);
            }
        }
    }

    实现Runable接口

    public class AchieveRunnableWay implements Runnable{
        @Override
        public void run() {//实现接口
            for (int i = 0; i < 10; i++) {
                System.out.println("------多线程-------" + i);
            }
        }
        public static void main(String[] args) {
            Thread t = new Thread(new AchieveRunnableWay());
            t.start();
            for (int i = 0; i < 10; i++) {
                System.out.println("主线程" + i);
            }
        }
    
    }

    实现callable接口和future对象

    public class AchieveCallableWay implements Callable<String> {
        @Override
        public String call() throws Exception {
            for (int i = 0; i < 10; i++) {
                System.out.println("------多线程-------" + i);
            }
            return null;
        }
        public static void main(String[] args) throws InterruptedException, ExecutionException {
            //其实就三步:1 创建Callable实例    
            //2将Callable实例设置进FutureTask实例中   
            //3将FutureTask实例作为Runnable类型设置进Thread中  
            AchieveCallableWay task = new AchieveCallableWay();
            FutureTask f = new FutureTask(task);
            new Thread(f).start();
            for (int i = 0; i < 10; i++) {
                System.out.println("主线程" + i);
            }
        }
    }
  • 相关阅读:
    Unix/Linux环境C编程入门教程(32) 环境变量那些事儿
    Unix/Linux环境C编程入门教程(34) 编程管理系统中的用户
    Unix/Linux环境C编程入门教程(30) 字符串操作那些事儿
    Unix/Linux环境C编程入门教程(29) 内存操作那些事儿
    Unix/Linux环境C编程入门教程(28) 日期时间那些事儿
    Unix/Linux环境C编程入门教程(27) 内存那些事儿
    模板函数冲突
    C语言的本质(30)——C语言与汇编之ELF文件格式
    C语言的本质(29)——C语言与汇编之寄存器和寻址方式
    DG观察日志传输
  • 原文地址:https://www.cnblogs.com/SacredOdysseyHD/p/8401100.html
Copyright © 2011-2022 走看看