using System.Threading.Tasks;
public static void Main()
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff") + " test created");
t.OnReadyToGeneratePolarImages();
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff") + " Image ready");
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff") + " csv ready");
TaskCompletionSource<bool> imageSavedTcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
TaskCompletionSource<bool> _csvFileGeneratedTcs = new TaskCompletionSource<bool>(TaskCreationOptions.RunContinuationsAsynchronously);
public void OnReadyToGeneratePolarImages()
imageSavedTcs?.TrySetResult(true);
public void GenerateCsvFiles()
_csvFileGeneratedTcs.SetResult(true);
var tasksToComplete = new [] { imageSavedTcs.Task, _csvFileGeneratedTcs.Task };
await Task.WhenAll(tasksToComplete);
private void SaveResults()
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff") + " save results");