java自学 day11

2018-08-10 23:42:29来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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接口实现多线程。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java内存与垃圾回收调优

下一篇:封装、继承、多态