欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java自学 day11

程序员文章站 2022-06-11 14:48:46
java中的多线程 Java是少数的几种支持“多线程”的编程语言之一。大多数的编程语言只能顺序运行多个单独程序块,无法同时运行不同的多个程序块。java的“多线程”恰可以弥补这个缺憾,它可让不同的程序块并发执行,如此一来就可让程序块运行得更为流畅,同时也可达到多任务处理的目的。 先看一下单线程的情况 ......

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在运行");
            }
        }
    }

}

java自学  day11

从这个例子可以看出,想要运行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();
            }
    }
}

}

java自学  day11

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