============================
MakeBreakfastSync
NOTE: The number before the time is current threadId
1 00:00.000 MakeBreakfastSync Start
1 00:00.007 BoilCoffee Start
1 00:00.107 BoilCoffee End
1 00:00.107 ToastBread Start
1 00:00.207 ToastBread End
1 00:00.208 FryEggs Start
1 00:00.308 FryEggs End
1 00:00.308 MakeBreakfastSync End
Total time: 309.2424ms
============================
MakeBreakfastAsync
NOTE: tasks maybe using different threads provided by ThreadPool, but unlike parallel programming, it is only one thread at a time
1 00:00.000 MakeBreakfastAsync Start
1 00:00.000 BoilCoffeeAsync Start
1 00:00.003 ToastBreadAsync Start
1 00:00.003 FryEggsAsync Start
5 00:00.104 FryEggsAsync End
7 00:00.104 ToastBreadAsync End
8 00:00.104 BoilCoffeeAsync End
8 00:00.104 MakeBreakfastAsync End
Total time: 104.3934ms
============================
MakeBreakfastParallel
Available processors: 4
Using processors: 2
1 00:00.000 MakeBreakfastParallel Start
1 00:00.006 BoilCoffee Start
8 00:00.006 ToastBread Start
1 00:00.107 BoilCoffee End
8 00:00.107 ToastBread End
1 00:00.107 FryEggs Start
1 00:00.207 FryEggs End
MakeBreakfastParallel End
Total time: 207.7904ms