title: How to run method in separate thread
body: <p>i found a very good piece of code which run all method in separate thread.
  the code as follows</p>
  
  <pre><code>private static void Method1()
  {
      //Method1 implementation
  }
  
  private static void Method2()
  {
      //Method2 implementation
  }
  
  private static void RunMethodInSeparateThread(Action action)
  {
      var thread = new Thread(new ThreadStart(action));
      thread.Start();
  }
  
  static void Main(string[] args)
  {
      RunMethodInSeparateThread(Method1);
      RunMethodInSeparateThread(Method2);
  }
  </code></pre>
  
  <p>in this case how could i pass parameter to method and also there could be situation where Method1 may need 2 parameter and where Method2 may need 3 parameter. in this situation how to construct RunMethodInSeparateThread in generic way which will accept many param and pass to the method. please help me with code. thanks</p>