Java 将按顺序运行您的代码,除非您另有说明(通过创建线程。)
如果你在函数 doSomthingElse() 中创建了一个无限循环,那么 doYetAnotherThing() 将永远不会执行并且 doSomething 永远不会终止。
public static void main(String[] args)
{
doSomethingElse();
doYetAnotherThing();
}
private static void doYetAnotherThing() {
System.out.println("Hi Agn");
}
private static void doSomethingElse() {
System.out.println("Hi");
while(true) // Infinite Loop
{
}
}
这将打印到输出:
Hi
但不是:嗨,Agn。
为了使这两个函数都运行,您需要删除 doSomethingElse() 中的无限循环。
更新:
但是,如果你不能这样做并且仍然想运行上面的代码,你可以使用线程:
主类:public class javaworking {
static MyThread t1, t2; 线程 tc;
public static void main(String[] args)
{
t1 = new MyThread(1);
Thread tc = new Thread(t1);
tc.start();
t2 = new MyThread(2);
tc = new Thread(t2);
tc.start();
}
}
包含所有功能的线程类: public class MyThread implements Runnable {
int ch;
public MyThread(int choice)
{
ch = choice;
}
@Override
public void run() {
// TODO Auto-generated method stub
switch(ch)
{
case 1:
doSomethingElse();
break;
case 2:
doYetAnotherThing();
break;
default:
System.out.println("Illegal Choice");
break;
}
}
private static void doYetAnotherThing() {
// TODO Auto-generated method stub
System.out.println("Hi Agn");
}
private static void doSomethingElse() {
// TODO Auto-generated method stub
System.out.println("Hi");
int i = 1;
while(true)
{
System.out.println(i++);
}
}
}
请注意:我提供的代码只是一个示例。我没有做任何错误处理或遵循推荐的标准。代码有效,就是这样。