Criar uma fila de execução usando Task.ContinueWith?
Tenho várias ações que desejo executar em segundo plano, mas elas devem ser executadas de forma síncrona uma após a outr
Eu queria saber se é uma boa idéia usar o método Task.ContinueWith para conseguir isso. Você prevê algum problema com isso?
Meu código é mais ou menos assim:
private object syncRoot =new object();
private Task latestTask;
public void EnqueueAction(System.Action action)
{
lock (syncRoot)
{
if (latestTask == null)
latestTask = Task.Factory.StartNew(action);
else
latestTask = latestTask.ContinueWith(tsk => action());
}
}