Taskна самом деле не знает, как это началось. Это просто объект, который содержит состояние завершения чего-то .
Это «что-то» не обязательно является фоновой задачей, которую вы начали с передачи делегата TaskCompletionSource. Это может быть что-то другое. Вы можете создавать произвольные Taskэкземпляры и управлять, когда они становятся помеченными как завершенные / ошибочные / отмененные (см. Task).
Таким образом, нет никакого способа сделать это с помощью Taskодного. Вам нужно будет создать свой собственный объект, который знает, как запустить каждую задачу, и передать это, и попросить его перезапустить.