zoukankan      html  css  js  c++  java
  • 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接口实现多线程。

  • 相关阅读:
    前端学HTTP之重定向和负载均衡
    前端学HTTP之Web主机托管
    前端学HTTP之内容协商
    前端学HTTP之字符集
    前端学HTTP之实体和编码
    前端学HTTP之安全HTTP
    前端学HTTP之摘要认证
    前端学HTTP之基本认证
    前端学HTTP之客户端识别和cookie
    前端学HTTP之网关、隧道和中继
  • 原文地址:https://www.cnblogs.com/gyd123/p/9457862.html
Copyright © 2011-2022 走看看