<p>
The purpose of the <code>Thread.run()</code> and <code>Runnable.run()</code> 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.
</p>

<p>To get the expected behavior, call the <code>Thread.start()</code> method instead.</p>

<h2>Noncompliant Code Example</h2>
<pre>
Thread myThread = new Thread(runnable);
myThread.run(); // Noncompliant
</pre>

<h2>Compliant Solution</h2>
<pre>
Thread myThread = new Thread(runnable);
myThread.start(); // Compliant
</pre>