java自学 day11

java中的多线程

Java是少数的几种支持“多线程”的编程语言之一。大多数的编程语言只能顺序运行多个单独程序块,无法同时运行不同的多个程序块。java的“多线程”恰可以弥补这个缺憾,它可让不同的程序块并发执行,如此一来就可让程序块运行得更为流畅,同时也可达到多任务处理的目的。

先看一下单线程的情况:

public class ThreadDemo_1 {

    public static void main(String[] args) {
        TestThread.run();
        for(int i=0;i<5;i++){
            System.out.println("main线程在运行");
        }

    }
    static class TestThread{
        public static   void run(){
            for(int i=0;i<5;i++){
                System.out.println("TestThresd在运行");
            }
        }
    }

}

从这个例子可以看出,想要运行main方法中的for循环,必须要等TestThread类中的run()方法执行完,即使后面的方法不依赖于前面的方法。这就是单线程的缺陷。

通过继承Thread类实现多线程:

public class ThreadDemo_2 {

    public static void main(String[] args) {
        new TestThread().start();
          
        for(int i=0;i<5;i++){
            System.out.println("main线程在运行");
            try
            {
                Thread.sleep(1000);
                
            }
            catch(InterruptedException e){
                e.printStackTrace();
            }
        }
    }
}
class TestThread extends Thread{
    public   void run(){
        for(int i=0;i<5;i++){
            System.out.println("TestThresd在运行");
            
            try
            {
                Thread.sleep(1000);
                
            }
            catch(InterruptedException e){
                e.printStackTrace();
            }
    }
}

}

需注意一点,多线程的执行顺序具有不确定性。另外还可以通过Runnable接口实现多线程。

猜你喜欢

转载自www.cnblogs.com/gyd123/p/9457862.html