Вопросы по теме 'synchronizationcontext'

Многопоточная перекачка сообщений без использования второй формы
У меня есть приложение C #, которое использует компонент COM. Для обработки этого COM-компонента требуется насос сообщений (Application.Run ()). Это означает, что он застрял в основном потоке. Но недавно я обнаружил, что можно запустить другое...
1331 просмотров

Когда вызывать SynchronizationContext.SetSynchronizationContext() в приложении пользовательского интерфейса?
Я узнаю о классе SynchronizationContext . Я пытаюсь понять, каковы общие сценарии использования для вызова SynchronizationContext.SetSynchronizationContext() в контексте приложения WinForm/WPF. Что значит установить SynchronizationContext...
8574 просмотров

межпотоковое взаимодействие С#
может кто-нибудь помочь мне, как установить метод Thread.join() в моем классе, или если есть изящный способ, как работать с классом SynchronizationContext и методом thread.join . в основном, я пытаюсь обновить ячейку datagridview (dgv) и индикатор...
2224 просмотров

Верна ли фраза из книги «Текущий контекст синхронизации является свойством текущего потока»?
Прочитав фразу "Текущий SynchronizationContext является свойством текущего потока" правильно" , я немного запутался... В коде приложения C# в VS2010, когда я набираю Thread.CurrentThread. , я не нахожу в раскрывающемся списке вариантов,...
398 просмотров

Используется ли SynchronizationContext только для форм WPF, Win?
В каждой статье, которую я читал о SynchronizationContext, рассказывается об управлении формой. Это единственная цель SynchronizationContext? И я также должен спросить одну простую вещь: почему я не могу просто заблокировать каждый элемент...
221 просмотров
schedule 12.05.2022

Когда выполняется синхронизация потока Task.Run с ExecutionContext?
В этой статье говорится, что SynchronizationContext может течь с ExecutionContext : private void button1_Click(object sender, EventArgs e) { button1.Text = await Task.Run(async delegate { string data = await...
1830 просмотров

Зачем нужен уникальный контекст синхронизации для каждого обратного вызова Dispatcher.BeginInvoke?
Я только что заметил, что в .NET 4.5 каждый обратный вызов Dispatcher.BeginInvoke / InvokeAsync выполняется в своем собственном уникальном контексте синхронизации (экземпляр DispatcherSynchronizationContext ). В чем причина этого изменения?...
1810 просмотров

TaskScheduler — выполнение продолжений
Немного почитав о TaskScheduler ( хорошая статья здесь ), получается, что TaskScheduler может: Запланировать задачи — с помощью метода QueueTask , который в приведенном выше примере просто выполняет задачу Post s для выбранных...
210 просмотров

Async-Await без взаимоблокировки там, где ожидается взаимоблокировка
Известно, что синхронное ожидание асинхронного метода приводит к взаимоблокировкам (см., например, Не блокировать асинхронный код ) У меня есть следующий код в обработчике событий для нажатия кнопки в приложении Windows Forms (т.е. код вызывается...
490 просмотров

NUnit 3, ожидание, тупик и пользовательский интерфейс
Постановка задачи У нас есть тесты, которые в какой-то момент вызывают установку SynchronizationContext в текущем потоке nunit. Насколько мне известно, сочетание этого с ожиданием приводит к тупиковой ситуации. Проблема в том, что мы повсюду...
710 просмотров

Тупик с асинхронным/ожиданием
Предположим, я пишу собственный фильтр MVC, который выполняет некоторые асинхронные вызовы в переопределениях метода, например: public class MyActionFilter : System.Web.Mvc.ActionFilterAttribute { public override void...
626 просмотров

Случай, когда ConfigureAwait(false) вместо взаимоблокировки вызывает ошибку
Предположим, я написал библиотеку, которая использует async методы: namespace MyLibrary1 { public class ClassFromMyLibrary1 { public async Task<string> MethodFromMyLibrary1(string key, Func<string, Task<string>>...
1782 просмотров

TaskCompletionSource SynchronizationContext
Я пишу базовый код Firebase в приложении Xamarin для iOS и сталкиваюсь с классической тупиковой ситуацией с ошибкой TaskCompletionSource . public Task<string> GetUsers() { var tcs = new TaskCompletionSource<string>();...
361 просмотров

Как обернуть многопоточный обратный вызов для async / await?
У меня есть код async / await, и я хочу использовать API, похожий на веб-сокет. Для получения новых сообщений требуется обратный вызов, который вызывается из другого потока. Могу ли я выполнить этот обратный вызов в том же контексте async / await,...
269 просмотров

Почему SynchronizationContext по умолчанию не фиксируется в консольном приложении?
Я пытаюсь узнать больше о SynchronizationContext , поэтому я сделал это простое консольное приложение: private static void Main() { var sc = new SynchronizationContext(); SynchronizationContext.SetSynchronizationContext(sc);...
2168 просмотров

Где асинхронные продолжения ставятся в очередь в ASP.NET Core?
В устаревшей версии ASP.NET продолжение асинхронного метода ставится в очередь в контексте запроса ( AspNetSynchronizationContext ). Но в ASP.NET Core такого SynchronizationContext (бесконтекстного) нет. Итак, где асинхронные продолжения...
153 просмотров

Не удается получить данные в реальном времени через синхронизациюContext.Post() и progress.Report() в асинхронной задаче
Я пытаюсь собрать выходные данные в реальном времени из общедоступной асинхронной задачи RunProcessAsync() и отправить в Form1 через синхронизациюContext.Post() и progress.Report() для обработки там, для целей отладки метки времени добавляются как в...
42 просмотров

Рассмотрите возможность вызова ConfigureAwait для ожидаемой задачи
Я разрабатываю веб-API, используя шаблон CQRS. У меня есть команда Создать автора. Вот мой обработчик команд: internal sealed class AddCommandHandler : ICommandHandler<CreateAuthorCommand, Author> { private readonly IUnitOfWork...
251 просмотров