How to run main thread as a real time thread

1.6k Views Asked by At

In real time Java one can create a real time thread and run it via the following methods:

RealtimeThread rt = new RealtimeThread(){
    public void run(){
        /*do work*/
    }
};
rt.start();

RealtimeThread rt2 = new RealtimeThread();
rt2.start();

RealtimeThread rt3 = new RTThread();
rt3.start();

where RTThread is a class which extends RealtimeThread. But clearly the above approaches does not work when it comes to main. So is there a way to do it? My motivation for this is that I want only 2 real time threads to run. If I start two real time threads within main, won't there be a total of 3 threads?

3

There are 3 best solutions below

1
On BEST ANSWER

if the RealtimeThreads are not deamon threads you can let the main thread finish and keep everything running inside the RealtimeThreads

public class BootStrap extends Runnable{

    public static void main(String[] args){
        new RealtimeThread(new BootStrap()).start();
        //main finishes running and stops
    }

    public void run(){
    //...
    }
}
0
On

If I start two real time threads within main, won't there be a total of 3 threads?

No. If you start two threads, then return / "fall off the edge" of the main method, you'll have two threads running.

1
On

Aren't all threads RealTimeThreads in RTJ? including the main thread?