• 多线程(一)——三种实现方式


    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);
            }
        }
    }
  • 相关阅读:
    jeecg团队招新人(5人)
    编程之美2.14 求数组的子数组之和的最大值
    使用VS连接SQLServe时提示未能载入文件或程序集“System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKey
    Drupal 7.31 SQL注入漏洞利用具体解释及EXP
    linux下mysql开启慢查询
    答大二学生:坚持正确方向,改变学习方式
    JavaWeb-10(会话技术之session&amp;JSP)
    Java内存区域分析
    Linux系统编程——进程间通信:命名管道(FIFO)
    学科、专业目录_各类名单_中国学位与研究生教育信息网
  • 原文地址:https://www.cnblogs.com/SacredOdysseyHD/p/8401100.html
Copyright © 2020-2023  润新知