-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the AsyncSyncLock wiki!
I have simulated async by making Task.Delay
I have simulated sync by calling Process.Start for the timeout application
I have gathered the results in a ConcurrentDictionary , and , when adding in the same time 2 entries, I have concatenated with !
The results are here(yours may vary, however, the sync always finishes before starting another sync)
starting AsyncTaskargument :0
==>starting syncTaskargument :1
<==ending syncTaskargument :1<==
starting AsyncTaskargument :2
==>starting syncTaskargument :3
ending AsyncTaskargument :0
ending AsyncTaskargument :2
<==ending syncTaskargument :3<==
starting AsyncTaskargument :4
==>starting syncTaskargument :5
<==ending syncTaskargument :5<==!starting AsyncTaskargument :6
==>starting syncTaskargument :7
ending AsyncTaskargument :6
ending AsyncTaskargument :4
<==ending syncTaskargument :7<==!starting AsyncTaskargument :8!==>starting syncTaskargument :9
ending AsyncTaskargument :8
<==ending syncTaskargument :9<==
See that the syncTask is already starting after a previous is finishing. ( e.g. ==>starting syncTaskargument :1 <==ending syncTaskargument :1<== )
But the start and finish of the async is interspersed (ending AsyncTaskargument :0 ending AsyncTaskargument :2 )
For more details , please head to http://msprogrammer.serviciipeweb.ro/