[Solved] How does java read code?


Java will run your code sequentially unless u tell it otherwise (by creating threads.)

If you jave an infinite loop in function doSomthingElse() then doYetAnotherThing() will never execute and doSomething will never terminate.

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
    {

    }
}

This will print to output:

    Hi

But not: Hi Agn.

For making both functions run you need to remove the infinite loop in doSomethingElse().

UPDATE:

However if you cant do that and still want to run the code above, you can use threads:

Main Class:
public class javaworking
{
static MyThread t1, t2;
Thread 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();
}
}

Thread class that contains all your functions:
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++);
    }
}
}

Please note: The code I provided is merely an example. I didn’t do any error handling or follow the recommended standards. The code works and that’s it.

2

solved How does java read code?