在java

时间:2016-06-30 23:10:58

标签: java multithreading main

我在java中遇到线程问题。  这是我实现线程的类:

public class SensorAddClient extends Thread implements Runnable {
String[] args = new String[3];
@Override
public void run(){
try {
    SensorClient.main(args);//this is the main function i wanna get executed on my args
} catch (IOException e) {
    e.printStackTrace();
} catch (JSONException e) {
    e.printStackTrace();
}}

然后当我需要激活线程时,我使用接下来的两行来调用它:

SensorAddClient cl = new SensorAddClient(); cl.start();

我必须启动一个线程,其运行只需要调用一个使用args执行的特定类,所以我调用类的main函数,有没有办法让我调用的类的主函数得到用我想要的args执行? 那么我可以把元素放在那个: String [] args = new String [3];在执行线程运行之前?那可能吗 ? 任何帮助将不胜感激,谢谢你提前:))

1 个答案:

答案 0 :(得分:1)

创建一个构造函数并在那里添加值:

public class SensorAddClient extends Thread implements Runnable {
String[] args = new String[3];

public SensorAddClient(String[] args) {

 this.args = args;

}
@Override
public void run(){
try {
    SensorClient.main(args);//this is the main function i wanna get executed on my args
} catch (IOException e) {
    e.printStackTrace();
} catch (JSONException e) {
    e.printStackTrace();
}}