The purpose of the Thread.run()
and Runnable.run()
methods is to execute code in a separate, dedicated thread. Calling those methods directly doesn't make sense because it causes their code to be executed in the current thread.spa
To get the expected behavior, call the Thread.start()
method instead.code
Thread myThread = new Thread(runnable); myThread.run(); // Noncompliant
Thread myThread = new Thread(runnable); myThread.start(); // Compliant