Sto cercando modi per implementare le co-routine (thread pianificati dall'utente) in C#. Usando il C++ stavo usando le fibre. Vedo su internet le fibre non esistono in C#. Mi piacerebbe avere una funzionalità simile.Coroutine in C#
Esiste un modo "giusto" per implementare le coroutine in C#?
Ho pensato di implementare questo utilizzando thread che acquisiscono un singolo mutex di esecuzione + 1 sul thread dello scheduler che rilascia questo mutex per ogni coroutine. Ma questo sembra molto costoso (forza un cambio di contesto tra ogni coroutine)
Ho anche visto la funzionalità di iteratore di rendimento, ma come ho capito non puoi cedere all'interno di una funzione interna (solo nella funzione di ienumerator originale). Quindi questo mi fa poco bene.
Link: http://blogs.msdn.com/larryosterman/archive/2005/01/05/347314.aspx –
Si possono trovare questo utile/interessante: https://github.com/bvanderveen/coroutine – gsscoder