如何在java中一次运行一个方法?

时间:2016-09-20 13:18:54

标签: java methods thread-sleep

说我有来自两个不同类的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..

4 个答案:

答案 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中,一切都按语句执行,这就是你的代码正在做什么。