title: A pattern to pause/resume an async task?
body: <p>I have a mostly IO-bound continuous task (a background spellchecker talking to a spellcheck server). Sometimes, this task needs to be put on hold and resumed later, depending on the user activity.</p>
  
  <p>While suspend/resume is essentially what <code>async/await</code> does, I've found little information on how to implement the actual pause/play logic for an asynchronous method. <strong>Is there a recommended pattern for this?</strong></p>
  
  <p>I've also looked at using Stephen Toub's <a href="http://blogs.msdn.com/b/pfxteam/archive/2012/02/11/10266920.aspx" rel="noreferrer"><code>AsyncManualResetEvent</code></a> for this, but thought it might be an overkill.</p>