This code creates and starts a thread:
new Thread() {
@Override
public void run() {
try { player.play(); }
catch ( Exception e ) { System.out.println(e); }
}
}.start();
I’d like to modify this code so that the thread only starts if there are no other threads open at the time! If there are I’d like to close them, and start this one.
You can create an
ExecutorServicethat only allows a single thread with theExecutors.newSingleThreadExecutormethod. Once you get the single thread executor, you can callexecutewith aRunnableparameter: