JD.THREAD.RUN

JD.THREAD.RUN occurs when a Thread.run() method is called explicitly.

Vulnerability and risk

In most cases, this is a mistake. The method is called implicitly by the thread itself. After a Thread.start() method has been invoked, calling Thread.run() will not start a thread.

Mitigation and prevention

Should you change it to Thread.start()?

Example 1

9      static void start() {
10         new Thread(){
11             public void run(){
12                 // do something
13             }
14         }.run();
15     }

JD.THREAD.RUN is reported for line 14: There is a call to the 'Thread.run()' method. This method is not meant to be called explicitly. Should probably be replaced with 'Thread.start()'?