C'è qualcosa di simile a Python senza stack disponibile in C#?
-
28-10-2019 - |
Domanda
C'è qualcosa di simile a Python senza stack, cioè un framework che supporta continue, microthread e processi leggeri in C#? So che C# 5 supporterà parzialmente alcune di queste funzionalità. Ma c'è qualcosa che può essere usato in questo momento?
Soluzione
Axum è simile, ma è stato ufficialmente abbandonato come progetto da Microsoft:
http://msdn.microsoft.com/en-us/devlabs/dd795202
Ho un post sul blog che mostra una co-routine di base al lavoro:
http://adamhouldsworth.blogspot.com/2009/05/microsoft-axum-playtime.html
Non ho idea se una di queste idee sia stata spinta nel lavoro parallelo che è andato in .NET 4 o il async
Stuff previsto per C# Next.
Può essere utilizzato in questo momento e funziona - ma è caratteristica incompleta in alcune piccole aree e non supportato in un ambiente di produzione come (era?) Un progetto di incubazione.
Dai un'occhiata a questo su CodeProject (potrebbe soddisfare il requisito del "processo leggero"):
http://www.codeproject.com/kb/cs/managediocp.aspx
Aggiornare: Questo collegamento descrive il flusso di dati TPL, più primitivi aggiunti al framework .NET per supportare la programmazione basata su agenti. Potrebbe essere di nuovo nella zona a cui sei interessato:
http://blogs.msdn.com/b/pfxteam/archive/2010/10/28/10081950.aspx
Altri suggerimenti
La mia risposta a questa domanda Potrebbe farti iniziare. Uso un metodo iteratore (yield return
) per implementare una semplice coroutine in modo che una sequenza di animazioni abbia luogo in WPF. La sequenza sarebbe in grado di utilizzare qualsiasi tipo di looping, ecc. Che in realtà utilizzava solo le funzionalità C# 2.0.
Intendi qualcosa come le estensioni parallele plinq del framework .NET?
I blocchi di enumeratore AFAIK in C# sono molto simili alle continue, ma non c'è esperto per Python.