多线程

多线程

多线程理解:
多线程_第1张图片
多线程_第2张图片
多线程_第3张图片

线程不是先后进行的

例如:继承Thread

package thread;
import org.apache.commons.io.FileUtils;

public class TestThread1 extends Thread{
     
    @Override
    public void run() {
     
    //run方法线程体
    for (int  i = 0;i < 1000;i++){
     
        System.out.println("我在看代码---"+ i);
    }
    }
    public static void main(String[] args)  {
     
        //main线程,主线程
        //创建一个线程对象
        TestThread1 testThread1 = new TestThread1();
        //调用start()方法开启线程
        testThread1.start();

        for (int i = 0; i < 1000; i++){
     
            System.out.println("我在学习多线程--"+i);
        }
    }


}

结果

多线程_第4张图片

实现Runnable接口

package thread;
//创建线程方式2:实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,调用start方法
public class ThestThread3 implements Runnable{
     
    @Override
    public void run() {
     
        //run方法线程体
        for (int  i = 0;i < 1000;i++){
     
            System.out.println("我在看代码---"+ i);
        }
    }

    public static void main(String[] args)  {
     
        //创建runnable接口的实现类对象
        ThestThread3 thestThread3 = new ThestThread3();
        //创建线程对象,通过线程对象来开启我们的线程
        /*
        Thread thread = new Thread(thestThread3);
        thread.start();
         */
        new Thread(thestThread3).start();
        for (int i = 0; i < 1000; i++){
     
            System.out.println("我在学习多线程--"+i);
        }
    }
}

运行同上

多线程_第5张图片

你可能感兴趣的:(多线程,java)