Описание тега waithandle

0 ответов

Как ждать, пока пользователь завершит ввод данных, перед обработкой с помощью waithandle

У меня есть пользовательский интерфейс, который позволяет пользователю вводить данные, каждый раз, когда пользователь вводит данные, я вызываю событие, говоря, что данные изменились в этом месте, и помещаю их в очередь. У меня есть фоновый поток, ко…
28 ноя '12 в 19:41
6 ответов

Для службы Windows, что лучше, ожидание или таймер?

Этот вопрос о таймерах для служб Windows заставил меня задуматься: Скажем, у меня есть (и я делаю) служба Windows, которая ждет на WaitHandle, а когда проснулась, она погружается в ожидание, как я показал ниже на блок-схеме http://www.86th.org/wait…
08 июл '09 в 17:39
1 ответ

Прочитать аргумент события после ожидания

У меня есть аппаратный компонент, который я использую для связи по протоколу TCP. Класс, управляющий им, имеет 3 задания: запуск устройства, прослушивание входящих сообщений и поднятие event когда сообщение получено: public class Hardware { public e…
17 июн '15 в 09:36
1 ответ

Как правильно расположить ручку

Я делаю многопоточность и использую AutoResetEvents, а ManualResetEvents контролируют мой основной цикл. При "уничтожении" потоков я также должен располагать этими сигналами, это понятно. Но я видел разные способы распоряжаться Waithandles, и я не у…
27 апр '10 в 14:37
1 ответ

Вызов веб-службы C# ASMX

У меня есть веб-сервис ASMX, который мне нужно использовать как часть работы. Я вызываю эту службу через страницу ASPX для создания новых объектов в сторонней системе. У меня нет доступа к базовому коду для этой службы, он просто позволяет мне общат…
11 ноя '12 в 15:47
3 ответа

Как сделать неблокирующую ручку ожидания?

По сути, я создаю веб-сервер для обработки вызова API, а затем, когда это будет сделано, продолжит выполнение метода, по сути: new WebServer(myAutoResetEvent); myAutoResetEvent.WaitOne(); Тем не менее, это блокирует поток до тех пор. Есть ли способ …
31 дек '15 в 15:59
2 ответа

Когда ManualResetEvent.Set() может вернуть false?

Согласно документации MSDN, Set() и Reset() для ManualResetEvent (или любого EventWaitHandle) возвращают логический индикатор того, была ли операция успешной. При каких обстоятельствах этот вызов может вернуть false, и что я должен делать, если это …
03 ноя '10 в 23:58
1 ответ

Ожидание, когда несколько TcpClients будут иметь доступ к данным - WaitHandle или Thread.Sleep?

Я пишу серверное приложение, которое будет получать данные из нескольких соединений TCP. Мы хотели бы иметь возможность масштабировать до ~200 соединений. Первый алгоритм, который я написал для этого, выглядит следующим образом: while (keepListening…
29 мар '13 в 19:51
1 ответ

EventWaitHandle имеет дело с ложными пробуждениями?

Примечание. Я ограничен.NET 3.5, поэтому не могу использовать ManualResetEventSlim, Должен ли я иметь дело с ложными пробуждениями, когда делаю что-то вроде этого: var waitHandle = new EventWaitHandle(); new Thread(() => { Thread.Sleep(TimeSpan.F…
13 май '15 в 18:51
1 ответ

Как использовать ManualResetEvent для замены логических флагов в этом классе

Я сделал предыдущий вопрос с тем же кодом, и мне посоветовали использовать ManualResetEventпотому что это правильный способ делать то, что я хочу, и я согласен с этим. Проблема в том, что я прочитал и перечитал документы и много уроков по ManualRese…
02 сен '15 в 18:17
2 ответа

Как правильно ждать семафор?

Я думал, что следующий код позволит запустить все 10 потоков, по два за раз, а затем вывести "done" после Release() называется 10 раз. Но это не то, что случилось: int count = 0; Semaphore s = new Semaphore(2, 2); for (int x = 0; x < 10; x++) { T…
25 янв '13 в 20:09
1 ответ

Как мне реализовать часть длинного опроса на стороне сервера C# для запросов ajax?

У меня есть архитектура, которая включает в себя браузеры, опрашивающие обновления через ajax каждые 3 секунды, и я хотел бы изменить это на длинный опрос. Мне бы хотелось, чтобы 1, 2.. {n} клиентов долго опрашивали, ожидали обновления и что-то прои…
2 ответа

Как я могу использовать WaitHandle в ожидании завершения асинхронного вызова?

Рассмотрим этот код: class Program { static void Main(string[] args) { Master master = new Master(); master.Execute(); } } class TestClass { public void Method(string s) { Console.WriteLine(s); Thread.Sleep(5000); Console.WriteLine("End Method()"); …
13 янв '13 в 14:42
1 ответ

C# Async WebRequests: выполнить действие, когда все запросы выполнены

У меня есть это базовое консольное приложение на C#, которое асинхронно использует WebRequest для получения html из списка сайтов. Он работает нормально, но как мне установить триггер, который срабатывает, когда каждый сайт в списке был обработан? Я…
27 май '11 в 01:00
2 ответа

Утилизируйте WaitHandle для синхронизации основных потоков

Согласно документации, WaitHandle в.NET должен быть явно / неявно расположен. Однако у меня возникают проблемы с достижением этого для следующей основной задачи синхронизации: трудоемкая задача выполняется в потоке. основной поток ожидает завершения…
13 апр '14 в 07:27
1 ответ

C#: Как установить AsyncWaitHandle в Compact Framework?

Я использую TcpClient в одном из моих приложений Compact Framework 2.0. Я хочу получить некоторую информацию от TCP-сервера. Так как Compact Framework не поддерживает механизмы тайм-аута "большого" фреймворка, я пытаюсь реализовать свой собственный …
16 мар '10 в 16:18
1 ответ

C# WaitHandle отменяется WaitAll

У меня есть следующий код, целью которого является ожидание всех заданных дескрипторов ожидания, но который можно отменить с помощью определенного дескриптора ожидания: public static bool CancelableWaitAll(WaitHandle[] waitHandles, WaitHandle cancel…
25 фев '13 в 14:38
0 ответов

C# (Xamarin) WaitHandle.WaitAny, возвращающий Int32.MaxValue (0x7FFF FFFF)

В документации к методу WaitHandle.WaitAny (WaitHandle[], Int32) говорится, что он возвращает "Индекс массива объекта, который удовлетворил ожидание, или WaitTimeout, если ни один объект не удовлетворил ожидание, и прошел интервал времени, эквивален…
10 мар '17 в 21:19
8 ответов

Обходной путь для ограничения обработки WaitHandle.WaitAll 64?

Мое приложение порождает множество разных небольших рабочих потоков через ThreadPool.QueueUserWorkItem который я отслеживаю через несколько ManualResetEvent экземпляров. Я использую WaitHandle.WaitAll метод, чтобы заблокировать мое приложение от зак…
23 апр '10 в 23:31
2 ответа

C# Заблокировать консольное приложение закрыть

Я пытаюсь остановить консольное приложение, но оно закрывается до завершения всех функций. Пример остановки до 90000, а затем консоль закрывается. Я хочу, чтобы сначала все работы заканчивались, а затем закрывались. Извините мой плохой английский. П…
09 фев '14 в 17:48