zoukankan      html  css  js  c++  java
  • 实现线程的几种方式

    1.Thread类,单继承的方式得到线程子类,定死了结构方法.

    class MyThread extends Thread{

    @override

    run(){

    }

    }

    2.Runnable接口,灵活,真正体现了多线程共享数据的模式。

    new Runnable(){

    @override

    run(){

    }

    };

    3.Callable 接口,java.util.concurrent.FutrueTask

    class ThreadDemo implments Callable<Integer>{

    @Overrid

    public Integer call(){

    int num = 0;

    for(int i=o;i<100;i++){

    num+=num+i;

    return num;

    }

    }

    }

    public class TestCallable {
     
        public static void main(String[] args) {
            ThreadDemo td = new ThreadDemo();
     
            //1.执行 Callable 方式,需要 FutureTask 实现类的支持,用于接收运算结果。
            FutureTask<Integer> result = new FutureTask<>(td);
     
            new Thread(result).start();
     
            //2.接收线程运算后的结果
            try {
                Integer sum = result.get();  //FutureTask 可用于 闭锁 类似于CountDownLatch的作用,在所有的线程没有执行完成之后这里是不会执行的
                System.out.println(sum);
                System.out.println("------------------------------------");
            catch (InterruptedException | ExecutionException e) {
                e.printStackTrace();
            }
        }
     
    }
  • 相关阅读:
    bootstrap常用快捷查找
    jquery
    javascript
    移动端心得总结
    css。过渡动画
    css。。段落样式
    css。元素样式、边框样式
    css3
    css
    Hbuilder 的快捷方式
  • 原文地址:https://www.cnblogs.com/pangdajin/p/9231868.html
Copyright © 2011-2022 走看看