gpt4 book ai didi

java - 如何向 Java 线程传递参数?

转载 作者:行者123 更新时间:2023-12-01 18:59:09 25 4
gpt4 key购买 nike

我在抽象类中有一段代码:

public abstract class Job implements Runnable{  
public void start(Integer jobId) {
try {
new Thread(this).start();
} catch (Exception e) {
e.getMessage();
}
}
}

类代码:

public class Test extends Job {

@Override
public void run() {
for(int i = 0; i < 5; i++) {
try {
Thread.currentThread();
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("TEST");
}
}
}

主要我有:

public static void main (String[] args) throws MessagingException  
{
Test test = new Test();
test.start(74);
}

那么如何将参数(jobId)从 start 方法传递到 run() 呢?

最佳答案

Job.start() 方法中,将值存储在成员变量中,以便稍后可以在 run() 方法中访问它,当线程已启动。

public abstract class Job implements Runnable {
protected Integer jobId;

public void start(Integer jobId) {
this.jobId = jobId;
try {
new Thread(this).start();
} catch (Exception e) {
e.getMessage();
}
}
}

public class Test extends Job {
@Override
public void run() {
System.out.println(jobId);
}
}

关于java - 如何向 Java 线程传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12896529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com