title: JAVA : Which object calls the run() method in multithreading
body: <p>I have a question about the run method in Java, i know that when we call <code>start()</code> method a &quot;stack&quot; is created in JVM memory and that is the place where the <code>run()</code> method start its execution, but which object is used to call this method in the code below, the thread <code>object(t1)</code> or the runnable <code>object(obj)</code> that I have passed in?</p>
  <p>I have trouble understanding this.</p>
  <pre><code>public class A implements Runnable {
      
      public void run() {
          System.out.println(&quot;....&quot;);
      }
      
      public static void main(String[] args) {
          A obj = new A();
          Thread t1 = new Thread(obj);
          t1.start();
      }
  }
  </code></pre>