私は2つのクラスを持っています。クラスA
では、run()
メソッドを永久にループさせますが、クラスB
ではスレッドプールを使用します。
私の質問は、クラスから、クラスでメソッドをB
実行するスレッドを制御および停止するにはどうすればよいですか、強制シャットダウンを試しましたが、機能していません。ループは永遠に続くようです。run()
A
threadExecutor.shutdownNow()
コードの例を次に示します。
public class A implements Runnable {
public void run() {
while (true) {
System.out.println("Hi");
}
}
}
public class B {
public static void main(String[] args) {
int noOfThreads = 1;
A ThreadTaskOne = new A();
System.out.println("Threads are being started from Class B");
ExecutorService threadExecutor = Executors.newFixedThreadPool(noOfThreads);
threadExecutor.execute(ThreadTaskOne);
threadExecutor.shutdownNow();
System.out.println("B Ends, no of threads that are alive : " + Thread.activeCount());
}
}