项目作者: Bithyakter

项目描述 :
Multitasking in CSharp
高级语言: C#
项目地址: git://github.com/Bithyakter/Multitasking-in-CSharp.git
创建时间: 2021-06-18T06:37:05Z
项目社区:https://github.com/Bithyakter/Multitasking-in-CSharp

开源协议:

下载


Multitasking-in-CSharp

Multitasking in CSharp

  1. class Program
  2. {
  3. /*=======================Task Using Delegate====================*/
  4. private static void PerformTaskUsingDelegate()
  5. {
  6. Console.WriteLine("This Task Performed using Delegate.\n");
  7. }
  8. /*=======================Task Using Action====================*/
  9. private static void PerofrmTaskUsingAction()
  10. {
  11. Console.WriteLine("This Task Performed using Action.\n");
  12. }
  13. /*=======================Task Using Lambda And Named Method====================*/
  14. private static void PerformTaskLambdaNamedMethod()
  15. {
  16. Console.WriteLine("This Task Performed using Lambda and Named Method.\n");
  17. }
  18. /*=======================Task Using AsyncAwait====================*/
  19. private static void PerformTaskgAsyncAwait()
  20. {
  21. Console.WriteLine("This Task Performed using Async and Await.\n");
  22. }
  23. private static async void PerformAsyncTask()
  24. {
  25. await Task.Run(() => PerformTaskgAsyncAwait());
  26. }
  27. /*=======================Task Using FromResult Method====================*/
  28. private static int PerformAdd(int num1, int num2)
  29. {
  30. return num1 + num2;
  31. }
  32. private static async void Summation(int number1, int number2)
  33. {
  34. int result = await Task.FromResult(PerformAdd(number1, number2));
  35. await Task.Delay(1000);
  36. Console.WriteLine("Result = " + result.ToString());
  37. }
  38. static void Main(string[] args)
  39. {
  40. Console.WriteLine("Print MultiTasking with Asynchronous");
  41. Console.WriteLine("==========================================\n");
  42. //Task Using Delegate.
  43. Task delegateTask = new Task(delegate { PerformTaskUsingDelegate(); });
  44. delegateTask.Wait(1200);
  45. delegateTask.Start();
  46. //Task Using Action
  47. Task actionTask = new Task(new Action(PerofrmTaskUsingAction));
  48. actionTask.Wait(1200);
  49. actionTask.Start();
  50. //Task using Lambda and Named Method.
  51. Task lambda = new Task(() => PerformTaskLambdaNamedMethod());
  52. lambda.Wait(1200);
  53. lambda.Start();
  54. //Task using Async and Await.
  55. PerformAsyncTask();
  56. //Task Using From Result Method
  57. Console.Write("\nEnter First Number = ");
  58. int num1 = int.Parse(Console.ReadLine());
  59. Console.Write("Enter Second Number = ");
  60. int num2 = int.Parse(Console.ReadLine());
  61. Summation(num1, num2);
  62. Console.ReadLine();
  63. }
  64. }