Untitled


SUBMITTED BY: antoineh1

DATE: May 8, 2016, 2:11 p.m.

FORMAT: Text only

SIZE: 963 Bytes

HITS: 4870

  1. CancellationTokenSource source = new CancellationTokenSource();
  2. CancellationToken token = source.Token;
  3. Console.WriteLine("Основной поток запущен");
  4. for (int i = 0; i < 300; i++) {
  5. task[i] = new Task( () =>
  6. {
  7. MyTask();
  8. },token);
  9. task[i].Start();
  10. }
  11. Task.WaitAll(task);
  12. Console.WriteLine("Основной поток завершен");
  13. Console.ReadLine();
  14. using (var cts = new CancellationTokenSource())
  15. {
  16. var ct = cts.Token;
  17. tasks =
  18. Enumerable.Range(0, 300)
  19. .Select(i => Task.Run(() => MyTask(ct), ct));
  20. cts.CancelAfter(TimeSpan.FromSeconds(30));
  21. try
  22. {
  23. await Task.WhenAll(tasks);
  24. }
  25. catch (AggregateException)
  26. {
  27. }
  28. }
  29. async Task IgnoreCancellation(Task t)
  30. {
  31. try
  32. {
  33. await t;
  34. }
  35. catch (OperationCancelledException)
  36. {
  37. }
  38. }

comments powered by Disqus