Threading in C# und WPF

Anbei der Code womit sich neue WPF-Fenster in einem eigenen Thread öffnen lassen. War eine unsere Aufgaben in der Vorlesung Betriebssysteme.

MainWindow.xaml.cs

… .. using System.Threading; namespace Threading { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Thread thread = Thread.CurrentThread; this.DataContext = new { ThreadId = thread.ManagedThreadId }; } private void [...]

How to use the BackgroundWorker Thread in C#

BackgroundWorker-Thread

Pils wird in einem neuen Thread ausgeführt und nach Fertigstellung wird bw_RunWorkerCompleted aufgerufen und im alten Thread ausgeführt.

private BackgroundWorker bw = new BackgroundWorker(); public Form1() { InitializeComponent(); bw.WorkerReportsProgress = true; bw.WorkerSupportsCancellation = true; bw.ProgressChanged += new ProgressChangedEventHandler(bw_ProgressChanged); bw.DoWork += new DoWorkEventHandler(bw_DoWork); bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted); } public void buttonStart_Click(object sender, EventArgs e) [...]