说我有来自两个不同类的4个方法.. class1.method1(),class1.method2(),class2.method3(),class2.method4()。
method1将数据流传输到数据库,这可能需要几分钟才能执行。 method2将使用数据库中的数据生成文本文件。
如何编程程序的起点,以便在完成run2()等运行后首先运行method1()。
我已经研究了线程,我似乎只是在考虑计时睡眠方法。有人有解决方案吗?如果我按原样运行代码,那么当数据被STILL流入数据库时,它会导致执行method2,所以我需要等待,直到method1停止。
//start point for program
public static void main(String[]args){
//run first until all data is inputted into database
class1.method1();
//then run next method until completed
class1.method2();
//so on..
答案 0 :(得分:1)
保持简单。
Java代码按语句运行语句,除非你使用线程& c告诉它。
(正式允许Java解释器重新排序语句作为优化策略,但前提是没有副作用)。
答案 1 :(得分:1)
也许我不明白这个问题,java就像你需要的那样。 在你编写时,首先执行method1,当完全完成时执行method2等等。
答案 2 :(得分:0)
默认情况下,方法会被阻止,只要它们不在不同的线程中运行。如果你想要进行Threaded方法调用(我猜你正在寻找),那么你需要同步它们。否则Java将按语句运行。
答案 3 :(得分:0)
它已经完成了你想要它做的事情。 在这里:
For i=4 to 1000
For j=9 to 1000
d=SQRT(POWER(B(i)-B(j),2)+ POWER(C(i)-C(j),2)+ POWER(D(i)-D(j),2))
print **d** in (P(i)) #want to print the distance **d** in a case
j=j+4 # **j** is a multiple of 4
i=i+4 # **i** is a multiple of 4
next i
在java中,一切都按语句执行,这就是你的代码正在做什么。