码迷,mamicode.com
首页 > 编程语言 > 详细

002 线程的创建

时间:2018-04-30 23:27:16      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:接口   重写   runnable   启动   算法   for   new   应用   方式   

一 . 概述

线程的创建由两种方式,其实本质上讲仅仅有一种.

[1]继承Thread,重写run()方法.

[2]实现Runnable接口,重写run()方法.

我们其实可以将实现Runnable方法作为一种策略模式的实现.


 

二 .继承Thread创建线程

@Test
    public void test() {
        new Thread() {
            public void run() {
                for(;;)
                    System.out.println("running....");
            };
        }.start();
    }

三 . 实现Runnable接口

@Test
    public void test2() {
        new Thread(new Runnable() {
            @Override
            public void run() {
                for(;;)
                    System.out.println("running ... ");
            }
        }).start();
    }

四 .比较

实际上线程的创建方式只有一种,就是创建Thread对象,然后启动该线程,否则new状态的线程实际上并不是真正的线程.

  那么,Runnable接口又是什么情况呢?

    其中的run()方法只是线程逻辑单元.

  我们可以理解为是一种策略模式的应用,我们创建的线程是在执行不用的算法(策略).

  注意 : 线程的启动是需要调用JNI代码的,也就是JVM分配了线程资源之后才能算得上是一个线程.

002 线程的创建

标签:接口   重写   runnable   启动   算法   for   new   应用   方式   

原文地址:https://www.cnblogs.com/trekxu/p/8975009.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!