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);
            }
        }
    }
  • 相关阅读:
    怎么自定义修改CnBlogs博客园主题模板css样式
    前端怎么避免无效的请求,减轻服务器负载
    360浏览器奇葩问题:非得打开一次控制台才能登录(try catch finally 用法)
    react中<br/>不换行、多个&nbsp;只显示一个空格的问题 dangerouslySetInnerHTML
    webpack压缩文件错误:ERROR in bundle.js from UglifyJs
    webpack css单独打包 及extract-text-webpack-plugin插件
    css如何引入第三方字体
    计数排序
    接口
    抽象方法和抽象类
  • 原文地址:https://www.cnblogs.com/SacredOdysseyHD/p/8401100.html
Copyright © 2011-2022 走看看