TaskToken.cs 521 B

123456789101112131415161718192021222324
  1. using System.Threading;
  2. namespace SKMC.Api.Common.Tasks
  3. {
  4. public class TaskToken
  5. {
  6. public CancellationTokenSource TokenSource { get; set; } = new CancellationTokenSource();
  7. public CancellationToken Token { get; set; }
  8. public ManualResetEvent ResetEvent { get; set; } = new ManualResetEvent(true);
  9. public TaskToken()
  10. {
  11. Token = TokenSource.Token;
  12. }
  13. public void SetWaitPoint()
  14. {
  15. ResetEvent.WaitOne();
  16. }
  17. }
  18. }