invoker;thread management;cross thread;ui thread;dispatcher;synchronization;async invocation;wpf;winforms;opengl;directx;dotnet;csharp