java—为什么不运行“run”方法?

2uluyalo  于 2021-07-08  发布在  Java
关注(0)|答案(2)|浏览(315)

我有一个类,它开始执行“parametro”方法,但它不运行其他任何东西,我也不知道为什么不。。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.ProcessBuilder.Redirect;
import java.io.*;
import java.nio.charset.*;

public class Proceso extends Thread{

    String variable;

    @Override
    public void run(){
        System.out.println(variable+" en run");
        System.out.println("--------------------");

        /*
        more lines of code
        */
    }

    public void parametro(String comando){
        this.variable = comando;
        System.out.println(variable+" en parametro");
    }

}

所以它只打印'parametro'方法中的命令,然后结束。。。
注意:对所有人:我很抱歉我的信息不足,所以缺少的信息是来自主类的信息,我这样称呼它:

// some code before
        String fichero = args[0];
        BufferedReader br = null;
        String linea = "";
        Proceso hilo = new Proceso();

        try {
            br = new BufferedReader(new FileReader(fichero));
            while((linea = br.readLine()) != null) {
                hilo.parametro(linea);
            }
// some code after
wi3ka0sx

wi3ka0sx1#

为了让run方法做任何事情,您必须通过初始化类的一个对象并调用 start() 方法。你没有提供初始化类的任何信息,所以我无法回答为什么 parametro() 方法甚至被调用。

643ylb08

643ylb082#

可能是因为没有初始化线程吗?尝试在新线程中 Package run方法。

new Thread(
    @Override
    public void run() {
        *your code here*
    }
}.start();

相关问题