Wait For Async Task To Complete

Use ManualResetEvent to allow you to wait on your thread with an anync task completes. Global object private ManualResetEvent OurTxIsDone; Constructor OurTxIsDone = new ManualResetEvent(false); Using It In A Method That Does Something Async Example //Inline event handler for the Completed event (We've implemented inline in order to make this method self-contained) MyOtherObjectThatsGoingToDoSomethingAsync.Completed += new EventHandler<SocketAsyncEventArgs>(delegate (object […]

Read More

Async, Await, Task, etc

async A Method declared with async (e.g. public async void MyFucntion(… )  will run asnychronously, which means execution of the Method calling it will continue before it is complete.   Task If you want to force is to be waiting to complete use ‘Task’ as its return type (e.g. public async Task MyFucntion(… )   If […]

Read More

Update UI From Background Thread

Calling A Method On The UI Thread async void SomethingHappened() { await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { this.textBlock.Text = “Failure capturing video.”; }); } Set New Screen Page From Other Threads async void SetMainScreenPage(int Page) { await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { Windows.UI.Xaml.Controls.Frame rootFrame = Windows.UI.Xaml.Window.Current.Content as Windows.UI.Xaml.Controls.Frame; switch (Page) { case 1: rootFrame.Navigate(typeof(MainPage)); break; case 2: […]

Read More

Run a task on a background thread

You can't create a background thread for a task, but you can schedule it via a static RunAsync method on the Windows.System.Threading.ThreadPool class. Create a high priority thread that runs forever using System.Diagnostics; Stopwatch Stopwatch1; //—– START OUR HIGH PRIORITY BACKGROUND THREAD —– //We don't await it as its goign to run for the lifetime of […]

Read More

.Threads General

Thread Types Universal apps have the following types of threads: UI threads Typcailly an app has a single UI thread, because an app typically has a single window (if there are multiple windows then each will have its own thread). UI threads should be kept free to handle input and update the UI – long […]

Read More