📜  Java线程中的 run() 方法

📅  最后修改于: 2022-05-13 01:54:57.045000             🧑  作者: Mango

Java线程中的 run() 方法

run() 方法在使用单独的 Runnable 对象构造的线程类中可用。否则,此方法不执行任何操作并返回。我们可以多次调用 run() 方法。

run() 方法可以通过以下两种方式调用:

  1. 使用 start() 方法。
  2. 使用 run() 方法本身。

句法:

public void run()  
{    
    //statements  
}  

1. 使用 start() 方法

我们可以通过使用线程对象来使用 start() 方法。

步骤 1:创建运行方法。

第 2 步:为类创建一个对象。

Syntax: Usingstart obj=new Usingstart(); 

第三步:通过传递类变量创建一个线程对象。

Syntax: Thread t1 =new Thread(obj);    

第 4 步:这将调用 run() 方法。

Syntax: t1.start();

例子:

Java
// Java program to demonstrate the working 
// of run() method using the start() method
  
public class Usingstart implements Runnable  
{    
    //run method
    public void run()  
    {    
        System.out.println("This thread is running");    
    }    
      
    //main method
    public static void main(String args[])  
    { 
        //create the object
        Usingstart obj=new Usingstart(); 
          
        //create thread object by passing the class variable
        Thread t1 =new Thread(obj);    
          
        // this will call run() method   
        t1.start();    
    }    
}


Java
// Java program to demonstrate 
// the working of run() method
  
public class Usingstart implements Runnable  
{    
    //run method
    public void run()  
    {    
        System.out.println("This thread is running");    
    }    
      
    //main method
    public static void main(String args[])  
    { 
        //create the object
        Usingstart obj=new Usingstart(); 
             
        // this will call run() method   
        obj.run();    
    }    
}


Java
// Java program to call the
// run() method multiple times
  
public class RumMultipleTimes extends Thread {
    public void run()
    {
        // run 10 times each
        for (int i = 1; i <= 10; i++) {
            System.out.println("Running " + i + " Time");
        }
    }
    
    public static void main(String args[])
    {
        // create object
        RumMultipleTimes t1 = new RumMultipleTimes();
  
        // call the run method
        t1.run();
        t1.run();
    }
}


Java
// Java Program to illustrate the behavior of
// run() method overloading
  
class GFG extends Thread {
  
    // run method with no parameters
    public void run()
    {
        System.out.println("no parameters method");
    }
  
    // run method with  parameters
    public void run(int i)
    {
        System.out.println("single parameter method");
    }
}
  
public class Test {
    public static void main(String[] args)
    {
        // create an object
        GFG t = new GFG();
  
        // call the parameter method
        t.run(8);
  
        // call the no parameter method
        t.run();
    }
}


输出
This thread is running

2.使用run()方法

我们可以通过使用线程对象来使用 run() 方法。

步骤 1:创建运行方法。

第 2 步:为类创建一个对象。

Syntax: Usingstart obj=new Usingstart();     

第 3 步:这将调用 run() 方法。

Syntax: obj.run();

例子:

Java

// Java program to demonstrate 
// the working of run() method
  
public class Usingstart implements Runnable  
{    
    //run method
    public void run()  
    {    
        System.out.println("This thread is running");    
    }    
      
    //main method
    public static void main(String args[])  
    { 
        //create the object
        Usingstart obj=new Usingstart(); 
             
        // this will call run() method   
        obj.run();    
    }    
}
输出
This thread is running

多次调用 run() 方法

在Java中,我们也可以多次调用 run() 方法。通过使用 for 循环,我们可以多次调用同一个 run 方法。

例子:

Java

// Java program to call the
// run() method multiple times
  
public class RumMultipleTimes extends Thread {
    public void run()
    {
        // run 10 times each
        for (int i = 1; i <= 10; i++) {
            System.out.println("Running " + i + " Time");
        }
    }
    
    public static void main(String args[])
    {
        // create object
        RumMultipleTimes t1 = new RumMultipleTimes();
  
        // call the run method
        t1.run();
        t1.run();
    }
}
输出
Running 1 Time
Running 2 Time
Running 3 Time
Running 4 Time
Running 5 Time
Running 6 Time
Running 7 Time
Running 8 Time
Running 9 Time
Running 10 Time
Running 1 Time
Running 2 Time
Running 3 Time
Running 4 Time
Running 5 Time
Running 6 Time
Running 7 Time
Running 8 Time
Running 9 Time
Running 10 Time

重载 run() 方法

我们还可以重载 run() 方法。通过改变参数,我们可以从方法中得到准确的东西。

示例: Java程序采用两个重载方法,一个带参数,另一个不带参数。

这里我们先调用有参方法,再调用无参方法。

Java

// Java Program to illustrate the behavior of
// run() method overloading
  
class GFG extends Thread {
  
    // run method with no parameters
    public void run()
    {
        System.out.println("no parameters method");
    }
  
    // run method with  parameters
    public void run(int i)
    {
        System.out.println("single parameter method");
    }
}
  
public class Test {
    public static void main(String[] args)
    {
        // create an object
        GFG t = new GFG();
  
        // call the parameter method
        t.run(8);
  
        // call the no parameter method
        t.run();
    }
}
输出
single parameter method
no parameters method