title: Invoke a delegate on a specific thread C#
body: <p>Is there any way to get a delegate to run on a specific thread?</p>
  
  <p>Say I have:</p>
  
  <pre><code>CustomDelegate del = someObject.someFunction;
  Thread dedicatedThread = ThreadList[x];
  </code></pre>
  
  <p>Can I have a consistent background long running thread and invoke my own delegates on it whenever I need it. It has to be the same thread each time.</p>
  
  <p>[Edit] </p>
  
  <p>The reason why I want it to be on a dedicated thread is time is that I inten to run the delegate on it and suspend the thread after <code>y</code> milliseconds, and resume the thread when I run another delegate on it. I see this isn't possible. I will have a delegate queue and let the main function of the thread read and run from it. </p>
  
  <p>To clarify with a concrete example, I have a game system with a bunch of player threads. I would like each playerthread to run event handlers for game events on it. If the event handlers take too much time I would like to be able to pause that particular player until the next event by suspending its thread. </p>
  
  <p>Thus having a dedicated thread on which I can run multiple event handlers I can pause a particular player's AI in case it became bugged or is taking too long.</p>