如何建立一个执行路径呢?

通过查询API文档 java.lang.Thread类

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

该类的描述中有创建线程的两种方式

1.继承Thread类

   (1).将类声明为 Thread 的子类

   (2).该子类应重写 Thread 类的 run 方法

   (3).创建子类对象就是创建线程对象

   (4).调用Thread类中的start方法就可以执行线程,炳辉调用run()方法

Eg:计算大于某一规定值的质数的线程可以写成:

 1 class PrimeThread extends Thread {
 2          long minPrime;
 3          PrimeThread(long minPrime) {
 4              this.minPrime = minPrime;
 5          }
 6  
 7          public void run() {
 8              // compute primes larger than minPrime
 9               . . .
10          }
11      }

然后,通过下列代码会创建并启动一个线程:

 PrimeThread p = new PrimeThread(143);
 p.start();

start()开启线程后,都会执行run()方法.说明run()方法中存储的是线程要运行的代码;所以,记住自定义线程的任务代码都存储在run()方法中

2.声明实现 Runnable 接口

   (1).定义一个类,实现runnable

   (2).覆盖runnable接口中的run方法,先线程要运行的任务代码存储到该方法中

   (3).描述Thread类创建线程对象,并将实现了Runnable接口的对象作为Thread类的构造函数的参数进行传递

   (4).调用Thread类的start方法,开启线程

   class PrimeRun implements Runnable {
         long minPrime;
         PrimeRun(long minPrime) {
             this.minPrime = minPrime;
         }
 
         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }

 然后,下列代码会创建并启动一个线程: 

 PrimeRun p = new PrimeRun(143);
     new Thread(p).start();

 

 

 

At:调用Start方法和调用run方法的区别?

   调用start会开启线程,让开启的线程去执行run方法中的线程任务,

 直接调用run方法,线程并未开启,去执行run方法的只有主线程(main)。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄