• 线程start与run方法的区别


    例子:

    public class Test {
     public static void main(String[] args) {
      Runner runner = new Runner();
      Thread t = new Thread(runner);
      t.start();       //调用start()方法来启动线程s

     runner.run();    //直接通过类调用类中的方法来启动线程
     }

    }
    class Runner implements Runnable {
     public void run() {
      for(int i=0;i<10;i++){
       System.out.println("i = "+i);
      }
     }
    }

    在启动线程时候,有两种方法可以使用

    start()为一半通用的启动线程的方法,通过调用线程类Thread的start()方法来启动线程,然后线程Thread类通过调用run()方法来实现线程的操作,而其中的run()方法中的内容实为线程体,即为该线程所要执行的内容。run()方法执行结束,该线程也就终止了,cpu在执行其他的线程

    如果将线程看做一般的Java类的话,则run()方法相当于普通的方法调用,通过普通的java类实例.run()来启动线程,即执行该方法体的内容。最终程序执行的只有主线程这一个。

     

  • 相关阅读:
    可扩容分布式session方案
    Linux 极限压缩
    python调用jenkinsAPI
    Jenkins-slave分布式跨网络发布
    mysql查看指定数据库各表容量大小
    FastAPI--依赖注入之Depends(8)
    FastAPI--跨域处理(7)
    FastAPI--中间件(6)
    FastAPI--错误处理(5)
    FastAPI--响应报文(4)
  • 原文地址:https://www.cnblogs.com/xiangpiaopiao2011/p/2044767.html
Copyright © 2020-2023  润新知