Описание тега synchronizationcontext
Цель.NET, на которую нужно отправить некоторую работу. В winforms и WPF это обычно основной поток пользовательского интерфейса.
2
ответа
Почему TaskScheduler.FromCurrentSynchronizationContext не синхронизируется в Monotouch?
Что меня интересует, так это то, почему нам нужно вызывать InvokeOnMainThread, в то время как это будет основным намерением и ответственностью TaskScheduler.FromCurrentSynchronizationContext()?. Я использую TPL в Monotouch для приложения для iPhone,…
19 мар '12 в 16:07
1
ответ
Многопоточная прокачка сообщений без второй формы
У меня есть приложение C#, которое использует компонент COM. Этот COM-компонент требует обработки сообщений (Application.Run()) для его обработки. Это означает, что он застрял в главном потоке. Но недавно я обнаружил, что можно запустить другой Appl…
15 сен '09 в 16:01
5
ответов
Почему TaskScheduler.Current является TaskScheduler по умолчанию?
Библиотека параллельных заданий великолепна, и я много использовал ее в последние месяцы. Однако, что-то действительно беспокоит меня: тот факт, что TaskScheduler.Current является планировщиком заданий по умолчанию, а не TaskScheduler.Default, Это а…
23 июл '11 в 13:34
1
ответ
Делает блок цикла.ForEach, когда больше нет доступных потоков
У нас есть .ForEach цикл (TPL), который запускает много, много, много задач. Поскольку TPL потребляет потоки из пула потоков, мне интересно, что произойдет, если больше нет доступных потоков? Будет ли вызывающий код блокироваться до тех пор, пока по…
11 окт '11 в 08:53
2
ответа
Поведение настройки ConfigureAwait и SynchronisationContext
В своем ответе Stephen Cleary объяснил, что когда ConfigureAwait(false) остальная часть метода будет выполняться в потоке пула потоков, если только Task Вы await Инг уже завершен. Что понятно: если я использую ConfigureAwait(false) все, что выполняе…
09 янв '14 в 09:45
1
ответ
Task.Start, Task.RunSynchronously и контекст синхронизации
Я строю задачу вручную: var task = new Task(() => Debug.WriteLine("Task")); Затем запустите его вручную: task.Start(TaskScheduler.FromCurrentSynchronizationContext()); Я ожидаю, что это будет запланировано через SynchronizationContext.Post, Но ес…
20 фев '14 в 13:37
1
ответ
System.Progress не запускает события в главном потоке после показа диалога WinForms
У меня есть диалоговое окно WPF, которое показывает элемент управления индикатора выполнения и фоновую задачу (System.Threading.Tasks.Task), который обеспечивает поток обновлений прогресса, которые должны быть поданы в индикатор выполнения. Посредни…
18 ноя '16 в 16:43
0
ответов
Как общаться с Microsoft.Owin самостоятельно размещенным веб-API из рабочего потока
Я ищу руководство о том, как связаться с экземпляром Microsoft.Owin.Hosting.WebApp из другого потока. Сначала я запускаю веб-сервер и рабочие потоки. То есть. var app = WebApp.Start<WebServerConfig>("http://blahblah"); var worker = new WorkerC…
11 сен '15 в 10:17
1
ответ
Однопоточная синхронизация контекста
На моем сервере есть асинхронный метод, который я хочу всегда запускать (при этом вызывающая сторона не ожидает его, просто отправляет) в выделенном потоке, а не из ThreadPool. Я нашел несколько реализаций для однопоточного SynchronizationContext, н…
31 июл '14 в 15:22
1
ответ
Альтернатива классу Dispatcher (из.net 3.0) для использования в контексте.net 2.0
Мне нужна альтернатива для Dispatcher (.net 3.0), чтобы использовать для службы Windows (сделано в.net 2.0). Можете ли вы дать мне некоторое представление о том, как добиться чего-то подобного или указать мне несколько ссылок? Я знаю, что диспетчер …
11 авг '10 в 07:16
1
ответ
Когда Task.Run передает SynchronizationContext с ExecutionContext?
В этой статье говорится, что SynchronizationContext может течь с ExecutionContext: private void button1_Click(object sender, EventArgs e) { button1.Text = await Task.Run(async delegate { string data = await DownloadAsync(); return Compute(data); })…
23 окт '13 в 17:25
1
ответ
Как получить контекст синхронизации WinForm или расписание в потоке WinForm
У меня есть приложение winform, и наблюдаемое настроено так: Form form = new Form(); Label lb = new Label(); form.Controls.Add(lb); Observable.Interval(TimeSpan.FromSeconds(1)) .Subscribe(l => lb.Text = l.ToString()); Application.Run(form); Это н…
14 сен '11 в 14:25
2
ответа
Какова лучшая практика для асинхронного программирования в ASP.NET MVC?
Согласно этой статье ASP.NET требует использования того же SynchronizationContext для асинхронных операций в контроллере, иначе он блокирует работающий поток. В заключение автор упомянул, что мы должны использовать оба метода как лучший метод для пр…
01 мар '15 в 10:11
1
ответ
Как получить контекст синхронизации для показанной второй формы
[РЕДАКТИРОВАТЬ] Перефразированный и упрощенный весь пост [/EDIT] В этом блоге в качестве примера использования объекта SynchronizationContext для выполнения Задачи в потоке пользовательского интерфейса приводится следующее (я немного упростил его): …
22 дек '10 в 19:40
1
ответ
NUnit 3, ожидание, взаимоблокировка и пользовательский интерфейс
Постановка задачи У нас есть тесты, которые в какой-то момент заставляют SynchronizationContext быть установленным в текущем потоке nunit. Насколько мне известно, смешивание этого с ожиданием приводит к тупику. Проблема в том, что мы смешиваем бизне…
20 июн '16 в 17:38
2
ответа
Почему SynchronizationContext.Current пусто в моем приложении Winforms?
Я только что написал этот код: System.Threading.SynchronizationContext.Current.Post( state => DoUpdateInUIThread((Abc)state), abc); но System.Threading.SynchronizationContext.Current является нулевым
10 ноя '09 в 17:06
2
ответа
Когда вызывать SynchronizationContext.SetSynchronizationContext() в приложении пользовательского интерфейса?
Я узнаю о SynchronizationContext учебный класс. Я пытаюсь понять, каковы общие сценарии использования для вызова SynchronizationContext.SetSynchronizationContext() в контексте приложения WinForm/WPF. Что значит установить SynchronizationContext нить…
11 янв '11 в 14:46
1
ответ
async/await с параметром continueOnCapturedContext ConfigureAwait и SynchronizationContext для асинхронных продолжений
Я хотел бы сначала написать код, а затем объяснить ситуацию и задать свой вопрос на основании этого: public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private async void Button_Click_2(object sender, RoutedEve…
17 окт '12 в 11:16
2
ответа
Можно ли проверить, запущен ли метод с захваченным SynchronizationContext при запуске Задачей?
Я мог бы где-то пропустить ответ, или это что-то тривиальное, но я не нашел его. Вот что я пытаюсь сделать в коде: public static async Task CapturesContext() { await Task.Run(() => DoWhatever()); } public static async Task DoesNotCaptureContext()…
27 фев '19 в 16:09
1
ответ
Использовать ConfigureAwait(false) в службе Windows?
Насколько я знаю, в приложении Windows Service нет контекста синхронизации. Есть ли await fooTask.ConfigureAwait(false) дать мне какие-либо преимущества в службах Windows? Есть ли подводные камни в этом?
07 май '14 в 08:26