我(非常)非常新的Java。有问题的代码产生了一个在特定时间执行某些操作的线程。此时间是从通过http://ip:80/time=(int,sec)
接收它的主线程获得的
用户可以调用此URL并根据需要多次更新此时间。这意味着我必须将我的整数传递给线程,以便它可以使用给定的时间运行,例如当它发生更改时。我该怎么办?
以下是我的线程的定义和启动方式:
Thread launchLoadBalancer = new Thread() {
public void run() {
TimerTask timerTask = new TimerTask(serverSocket, //object for extra data);
try {
timerTask.start();
} catch (IOException e) {
}
}
};
launchtimerTask.start();
我必须从new TimerTask
传递整数。我可以在另一端修改构造函数。如何正确传递整数?
答案 0 :(得分:0)
public class Main {
public static void main(String[] args) {
int length = 1000;
Thread launchLoadBalancer = () -> {
TimerTask timerTask = new TimerTask(serverSocket, length);
try {
timerTask.start();
} catch (IOException e) {
}
};
launchLoadBalancer.start();
}
}
答案 1 :(得分:0)
创建一个扩展Thread
的新类,并使用一个带int
的构造函数。
class LaunchLoadBalancerThread extends Thread {
private int i;
public LaunchLoadBalancerThread(int i) {
this.i = i;
}
public void run() {
TimerTask timerTask = new TimerTask(serverSocket, //object for extra data);
try {
timerTask.start();
} catch (IOException e) {
}
}
}
然后,您可以使用该类(用您的号码替换i):
Thread launchLoadBalancer = new LaunchLoadBalancerThread(i);
launchLoadBalancer.start();