001 线程的创建

一 .概述

在java之中Thread类描述的就是线程这个概念,创建线程就是创建Thread.为了划分并发任务的概念和并发本身,提供了Runnable接口分离线程逻辑单元.


二 .继承Thread创建线程 

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

  在上面,我们通过继承Thread,创建了一个线程,并使用start()方法运行了该线程.在这里,线程的启动是需要调用start()方法的,其中的原因在后面分析.


三 . 使用Runnable来分离线程逻辑单元  

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

  在上面,我们实现了一个Runnable接口作为参数传递给了Thread类,在后面我们会分析一下这种情况.


 四 .Thread类

  

我们看到Thread本身就实现着Runnable接口了.

  

我们看到Thread的构造函数是可以传递一个Runable接口对象的.

  总结 : 线程对象在启动的时候,会刦调用run()方法,首先会判断本身是否有target(传递的Runnable),没有就会执行自己的run()方法.

猜你喜欢

转载自www.cnblogs.com/trekxu/p/8995446.html
001