public class MyThreadExample {
public static void main(String[] args) {
MyThreadExample myThreadExample = new MyThreadExample();
String country= myThreadExample.getCountry();
System.out.println(country);
}
public String getCountry() {
/* Question : */
return "India";
}
public void printValues() {
for(int i = 0 ; i < 200; ++i) {
System.out.println(i);
}
}
}
标签问题:我想调用printValues()方法并立即从这个方法返回,我可以在这里使用线程来调用printValue()
答案 0 :(得分:0)
最简单在新线程中运行某些代码的方法,假设你有一个Java 8编译器:
new Thread(() -> {
printValues();
}).start();
或假设您没有Java 8编译器:
new Thread() {
@Override
public void run() {
printValues();
}
}).start();
但请注意,这可能无法达到您想要的效果。
(有些人会建议使用Executor;当你只有一个任务要运行时,行为没有区别,但Executor会增加更多的复杂性)
答案 1 :(得分:0)
你可以用这种方式重写你的printValues()
方法,在方法中启动一个线程来执行你想要的东西。
public void printValues() {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0 ; i < 200; ++i) {
System.out.println(i);
}
}
});
t.start();
}
答案 2 :(得分:0)
答案 3 :(得分:0)
是的,您肯定可以使用主题,我更喜欢ExecutorService机制,
以下是您的操作方法:
ExecutorService executorService = Executors.newFixedThreadPool(10);
executorService.execute(new Runnable() {
public void run() {
for(int i = 0 ; i < 200; ++i) {
System.out.println(i);
}
}
});
executorService.shutdown();