Sonar rule for multithread

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.

To get the expected behavior, call the Thread.start() method instead.

Noncompliant Code Example

Thread myThread = new Thread(runnable);
myThread.run(); // Noncompliant

Compliant Solution

Thread myThread = new Thread(runnable);
myThread.start(); // Compliant

 

posted @ 2014-04-22 11:54  D.Wang  阅读(232)  评论(0编辑  收藏  举报