Thread和Runnable和Callable的使用

  • Thread和Runnable区别

    • Thread实际上是将线程和任务合并在了一起,Runnable是将线程和任务分离,
    • Thread内部的run方法的具体实现如下,target即使通过构造器传过来的参数,如果不为空则调用targetrun方法。
        public void run() {
            if (target != null) {
                target.run();
            }
        }
  • Callable的使用

    • 举例:调用run方法时,Callablecall方法就会被调用,并且结果会被保存起来。

        @Slf4j
        public class MyTest {
            public static void main(String[] args) throws ExecutionException, InterruptedException {
                FutureTask<String> task = new FutureTask<>(() -> {
                    log.debug("entry the method");
                    Thread.sleep(1000);
                    log.debug("exit the method");
                    return "Hello world";
                });
      
                new Thread(task).run();
                System.out.println(task.get());
                System.out.println(task.get());
            }
        }
全部评论

相关推荐

FFFoly:我也是,现在已经到了学长说的 能面试侃侃而谈的阶段了,但是已经没有公司给我面了
远程面试的尴尬瞬间
点赞 评论 收藏
分享
哇哇的菜鸡oc:他这不叫校招offer,而是实习offer
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务