Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更改方法中的参数_Java_Multithreading_Parameters - Fatal编程技术网

Java 更改方法中的参数

Java 更改方法中的参数,java,multithreading,parameters,Java,Multithreading,Parameters,我是java编程新手,希望我选择了正确的标题。 首先,我的代码: public class main { public static void main(String args[]) { SysOutSleep sos = new SysOutSleep("Test", 450, 3 );//set the value Thread t = new Thread(sos); t.start(); //

我是java编程新手,希望我选择了正确的标题。 首先,我的代码:

public class main 
{

    public static void main(String args[])
    {

        SysOutSleep sos = new SysOutSleep("Test", 450, 3 );//set the value

        Thread t = new Thread(sos); 

        t.start(); 

        //here i want to change the parameters from sos 
        //they should be something like that ("Test2", 390, 1)

        //and after that i start the thread again with the new parameters

        t.start();
    }

}

因此,我如何更改它们,提前感谢:)

您不能两次启动同一个线程,这意味着您必须创建一个新线程:

SysOutSleep sos = new SysOutSleep("Test", 450, 3);
Thread t = new Thread(sos); 
t.start(); 

sos = new SysOutSleep("Test2", 390, 1);
t = new Thread(sos);
t.start();

不能两次启动同一个线程isntance,这意味着您必须创建一个新线程:

SysOutSleep sos = new SysOutSleep("Test", 450, 3);
Thread t = new Thread(sos); 
t.start(); 

sos = new SysOutSleep("Test2", 390, 1);
t = new Thread(sos);
t.start();

如果只想在同一方法中使用其他参数,则只需更改

SysOutSleep sos = new SysOutSleep("Test", 450, 3 );//set the value

如果您希望这两个方法都使用这两种情况并使用两个不同的线程来执行,那么您必须创建两个线程

SysOutSleep sos1 = new SysOutSleep("Test", 450, 3); // create object of SysOutSleep class and invoke constructor of SysOutSleep class with the given parameters
Thread t1 = new Thread(sos); // create thread for sos1 object and starts thread
t1.start();  // after start thread it will run the run method of thread

sos2 = new SysOutSleep("Test2", 390, 1);
Thread t2 = new Thread(sos);
t2.start();

如果只想在同一方法中使用其他参数,则只需更改

SysOutSleep sos = new SysOutSleep("Test", 450, 3 );//set the value

如果您希望这两个方法都使用这两种情况并使用两个不同的线程来执行,那么您必须创建两个线程

SysOutSleep sos1 = new SysOutSleep("Test", 450, 3); // create object of SysOutSleep class and invoke constructor of SysOutSleep class with the given parameters
Thread t1 = new Thread(sos); // create thread for sos1 object and starts thread
t1.start();  // after start thread it will run the run method of thread

sos2 = new SysOutSleep("Test2", 390, 1);
Thread t2 = new Thread(sos);
t2.start();

什么是
SysOutSleep
?(另外,我想你的意思是你想改变参数。参数是方法接受的类型,参数是我们传递给它们的值。)不是100%确定你想要什么,这个问题很模糊!您可以使用变量更改参数(这通常是您应该使用的方法)。您不能两次启动线程。这是Java程序吗?什么是
SysOutSleep
?(另外,我想你的意思是你想改变参数。参数是方法接受的类型,参数是我们传递给它们的值。)不是100%确定你想要什么,这个问题很模糊!您可以使用变量更改参数(这通常是您应该使用的方法)。您不能两次启动线程。这是Java程序吗?什么是
t2
?Java是强类型的。虽然你的答案在真正意义上没有错,但也有一些缺陷。1) 代码格式不正确。2) 你没有解释为什么要创建第二个线程?。3) 你所说的
到底是什么意思?如果你只是想在相同的方法中使用另一个参数,那么你只需要更改
中的值就可以了?…这只是一些关于获得时间投资回报的提示。目前的答案是,我看不出有任何可能会被提升。我认为你真的应该学习如何更好地格式化你的代码。否则它是不可读的,你可能会错过被提升的机会。所以这次我为你改进了格式。什么是
t2
?Java是强类型的。虽然你的答案在真正意义上没有错,但也有一些缺陷。1) 代码格式不正确。2) 你没有解释为什么要创建第二个线程?。3) 你所说的
到底是什么意思?如果你只是想在相同的方法中使用另一个参数,那么你只需要更改
中的值就可以了?…这只是一些关于获得时间投资回报的提示。目前的答案是,我看不出有任何可能会被提升。我认为你真的应该学习如何更好地格式化你的代码。否则它是不可读的,你可能会错过被提升的机会。所以这次我为你改进了格式。