Necesito deshacerme de una tarea?
Me estoy divirtiendo trabajando conSystem.Threading.Tasks
. Sin embargo, muchos de los ejemplos de código que veo se parecen a algo así:
Dim lcTask = Task.Factory.StartNew(Sub() DoSomeWork())
Dim lcTaskLong = Task.Factory.StartNew(Sub() DoSomeWork(), TaskCreationOptions.LongRunning)
Task.WaitAll(lcTask, lcTaskLong)
Esa es la extensión de la muestra.
Tasks implementIDisposable
, así que obviamente se supone que debo deshacerme de ellos, pero ¿qué pasa si solo quiero "disparar y olvidar"?
Si no dispongo, ¿perderé hilos / manijas / memoria / karma? ¿Estoy usando tareas "incorrectas"? (¿Debería usar un delegado y dejar las tareas en paz?)
¿Puedo disponer en unContinueWith()
? (Eso parece jugar a la ruleta rusa).