private async void Btn_start_Click(object sender, RoutedEventArgs e) { cts = new CancellationTokenSource(); //Fire&Forgtet //Worker wrkr = new Worker(10,1000,cts ); //wrkr.CountDown(); //ProgressUpdate //IProgress<int> p1 = new Progress<int>(UpdateUI); //WorkerProgress wrkrp = new WorkerProgress(10, 1000, cts, p1); //wrkrp.CountDown(); //Async //WorkerAsync wrkra = new WorkerAsync(10, 1000, cts); //await wrkra.CountDown(); //Async Progress IProgress <int> p2 = new Progress <int>(UpdateUI); Semaphore s = new Semaphore(1, 1); WorkerProgressAsync wrkrpa = new WorkerProgressAsync(10, 1000, cts, p2, s); await wrkrpa.CountDown(); MessageBox.Show("hey yo wassup, i wait the other thread"); }
private async void Btn_avvia_Click(object sender, RoutedEventArgs e) { ct = new CancellationTokenSource(); Semaphore sem = new Semaphore(1, 2); IProgress <int> progress = new Progress <int>(UpdateUI); WorkerProgressAsync wrk = new WorkerProgressAsync(sem, ct, 10, 1000, progress); await wrk.start(); MessageBox.Show("Mi dimentico del thread secondario e non attendo il thread secondario per visualizzare questo messaggio"); }
private async void Start_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, 11, 1000, cts, progress); await wrk.start(); //WorkerProgress wrk = new WorkerProgress(10,1000,cts,progress); //wrk.start(); MessageBox.Show("posso farti leggere questo messaggio mentre sto anche contando"); }
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"); }
private async void btn_Start_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"); }