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();
  • 相关阅读:
    Javascript基础
    Dao习题
    构建良好的Windows程序
    初始Windows程序
    ADO.NET访问数据库
    连接查询和分组查询
    [leetcode]126. Word Ladder II单词接龙II
    [leetcode]155. Min Stack最小栈
    [leetcode]796. Rotate String旋转字串
    [leetcode]460. LFU Cache最低频率缓存
  • 原文地址:https://www.cnblogs.com/myna/p/7940744.html
Copyright © 2011-2022 走看看