Tag: synchronizationcontext
Ein .NETTO-target-Versand einiges an Arbeit zu. In winforms und WPF ist dies in der Regel an die Haupt-UI-thread.
3
Antworten
Habe ich folgenden code: [TestMethod] public void StartWorkInFirstThread() { if (SynchronizationContext.Current == null) SynchronizationContext.SetSynchronizationContext( new SynchronizationContext()); var syncContext = SynchronizationContext.Current; Console.WriteLine("Start work in the first thread ({0})", Thread.CurrentThread.ManagedThreadId); var action = ((Action) DoSomethingInSecondThread); action.BeginInvoke(CallbackInSecondThread, syncContext); //Continue its
5
Antworten
Scheine ich nicht zu finden, wie man die SynchronizationContext einer bestimmten Thread: Thread uiThread = UIConfiguration.UIThread; SynchronizationContext context = uiThread.Huh?; Warum sollte ich das brauchen? Da muss ich post zu den UIThread von verschiedenen spots alle über
2
Antworten
Ich bin mit einem SynchronizationContext Marschall Ereignisse zurück an den UI-thread aus meiner DLL, hat eine Menge von multi-threaded-hintergrund-tasks. Ich weiß das singleton-Muster ist nicht ein Favorit, aber ich verwende es jetzt zum speichern einer Referenz der
1
Antworten
Betrachten Sie den folgenden code, der windows forms: private async void UpdateUIControlClicked(object sender, EventArgs e) { this.txtUIControl.Text = "I will be updated after 2nd await - i hope!"; await Task.Delay(5000).ConfigureAwait(continueOnCapturedContext: false); this.txtUIControl.Text = "I am updated now.";
1
Antworten
Dank Jeremy Miller, die gute Arbeit in Funktionale Programmierung Für Den Alltag .NET Entwicklungich habe eine funktionierende Befehls-executor, der alles macht, ich will es tun schwerarbeit auf den thread-pool, senden Sie Ergebnisse oder Fehler zurück, der die
5
Antworten
Die Task Parallel Library ist toll und ich habe es verwendet eine Menge in den letzten Monaten. Allerdings gibt es etwas wirklich stört mich: die Tatsache, dass Aufgabenplaner.Current ist die Standard-task-scheduler, nicht Aufgabenplaner.Default. Das ist absolut nicht
2
Antworten
Ich bin immer noch lernen, die ganze Task-Konzept und die TPL. Aus meinem heutigen Verständnis, die SynchronizationContext-Funktionen (falls vorhanden) verwendet werden await Versendung der Aufgabe "irgendwo". Auf der anderen Seite, die Funktionen in der Task Klasse verwenden
2
Antworten
Ich nur diesen code schrieb: System.Threading.SynchronizationContext.Current.Post( state => DoUpdateInUIThread((Abc)state), abc); aber System.Threading.SynchronizationContext.Strom ist null InformationsquelleAutor der Frage Ian Ringrose | 2009-11-10