private async void Btn_Avvia_Click(object sender, RoutedEventArgs e) { cts = new CancellationTokenSource(); //WorkerAsync wrk = new WorkerAsync(10, 1000, cts); IProgress <int> progress = new Progress <int>(UpdateUI); WorkerProgressAsync wrk = new WorkerProgressAsync(sem, 10, 1000, cts, progress); //WorkerProgress wrk = new WorkerProgress(10,1000,cts,progress); await wrk.Start(); MessageBox.Show("Mi dimentico del Thread secondario e non attendo il thread secondario per visualizzare questo messaggio"); }
private async void btn_Avvia_Click(object sender, RoutedEventArgs e) { btn_Fine.IsEnabled = true; cts = new CancellationTokenSource(); Semaphore sem = new Semaphore(2, 2); IProgress <int> progress = new Progress <int>(UpdateUI); WorkerProgressAsync wrk = new WorkerProgressAsync(10, 1000, cts, progress, sem); //WorkerProgress wrk = new WorkerProgress(10, 1000, cts, progress); await wrk.Start(); MessageBox.Show("Mi dimentico del thread secondario e non lo attendo per visualizzare questo messaggio"); }