Frankie
Frankie

Reputation: 25165

Java, alert parent on object change

I have the following setup in Java,

public class Main {

    // starts sub class
    SubClass sub = new SubClass();
    sub.start();

    // sub will keep running and call method alert() on a specif change
    // method alert is void but updates a public variable named status on sub
    while(1==1) {

        // I should ideally be able to catch/read sub status result here
        // how can I do it?
    }
}

I'm new to Java so this may not be valid and my approach may be wrong. That being the case please point me in the right direction.

Thank you.

Upvotes: 0

Views: 248

Answers (3)

Michael
Michael

Reputation: 2634

If your SubClass is not already a Runnable,

public class Main
{
    public static void main(String args[])
    {
        Thread myThread = new Thread(new Runnable()
        {
            public void run()
            {
                //Instantiate your SubClass here and do stuff. You can pass yourself as a parameter if you plan to do callbacks.
            }
        });
        myThread.setDaemon(true);
        myThread.start();
    }
}

Alternatively if you've implemented the Runnable interface on SubClass then just use the thread mechanics (wait(), notify(), etc etc).

Upvotes: 0

Keith Randall
Keith Randall

Reputation: 23265

I presume SubClass.start() starts a new thread so the parent runs in parallel with the child. Then the main class can do a Object.wait() on the sub object, and the SubClass thread can do a Object.notify() on the sub object.

Upvotes: 2

suicide
suicide

Reputation: 800

you should start by putting your code into a main method :)

Upvotes: 0

Related Questions