zoukankan      html  css  js  c++  java
  • 线程的3种声明方式

    1.实现Runnable接口,重写run方法 
    实例化线程:new Thread(new MyselfThread()).start();
     
    2.继承Thread类,重写run方法,其实质也是实现Runnable接口
    实例化线程:MyselfThread thread = new MyselfThread(); thread.start();
     
    3.实现Callable接口,实现call()方法,该call()方法将作为线程执行体,并且有返回值,可以声明抛出异常。
    使用FutureTask类来包装Callable对象,使用FutureTask的get方法获得返回值。
    实例化线程:
    MyselfCallable callable = new MyselfCallable();
    FutureTask<Integer> futureTask = new FutureTask<>(callable);
    new Thread(futureTask).start();
    调用futureTask.get()获取call方法返回的结果
     
    一般使用第一种方式实现线程的声明,可避免Java单继承的问题
     
    测试代码的常规写法
    Runnable r = new Runnable(){
        public void run() {
            while(true){
                System.out.println("test");
            }                
        }
    }
    Thread t = new Thread(r);
    t.start();
  • 相关阅读:
    MVC梳理与总结
    《岛上书店》
    PIL简单图片处理(上)
    Day 3---快捷键
    Day 2---控制快捷键
    Day 1--快捷键
    每天学点Emacs
    swift写ios mvc的小demo
    hexo博客部署到github无法上传的问题
    Django Web开发【7】 投票与评论
  • 原文地址:https://www.cnblogs.com/myna/p/7940744.html
Copyright © 2011-2022 走看看