Wielowątkowość przy zapytaniach HTTP bez zwracania wartości

Odpowiedz Nowy wątek
2015-01-02 21:28
BarooCHash
0

Zastanawiam się nad takim problemem. Jest sobie aplikacja, która otrzymuje eventy z pewnego źródła (do pominięcia z jakiego). Event zostaje przekształcony, a dane z niego pozyskane są wysyłane w postaci zapytania HTTP. To czy zapytanie wykona się poprawnie czy nie nas nie interesuje. Czy w takiej sytuacji zastosować zwykłe:

new Thread (SendHTTP).Start();

czy może jest jakiś bardziej elegancki sposób?

Pozostało 580 znaków

2015-01-02 23:37
2

jeśli nie czekasz na odpowiedź i jej nie obrabiasz to jest to najszybsze i najprostsze


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2015-01-20 22:26
0

Jeszcze takie pytanie dla pewności. Mam eventy od zewnętrznego urządzenia i zależy mi na ich szybkim obsłużeniu (jak do tej pory część eventów mi przepada i szukam przyczyny). Czy poniższe rozwiązanie jest poprawne i możliwie najbardziej wydajne (przy pojawieniu się eventu tworzę nowy wątek i obsługuję go niezależnie)?

 
// Event notification
private void tapi_ITTAPIEventNotification_Event_Event(TAPI_EVENT TapiEvent, object pEvent)
{
     Thread currentEventThread = new Thread(() => tapi_ITTAPIEventNotificationHandlingMethod(TapiEvent, pEvent));
     currentEventThread.Start();
}
 
// Event notification handling method
private void tapi_ITTAPIEventNotificationHandlingMethod(TAPI_EVENT TapiEvent, object pEvent)
{
     // Tutaj zachodzi obsługa zdarzenia
}

Pozostało 580 znaków

2015-01-20 23:01
gosc_z_pytaniem
0

Przepada ze względu na to, że event handler wykonuje się za długo? Czyli de facto stworzenie nowego wątku trwa zbyt długo?

Poczytaj o wzorcu producent konsument
Przyda się też klasa ConcurrentQueue

Pozostało 580 znaków

2015-01-21 08:17
baroochash
0

Właśnie nie do końca wiem dlaczego mi te eventy przepadają (czy jest to wina sterownika czy mojego programu). Sterownik jest raczej pewny, więc zakładam, że coś u mnie może być nie tak.
Rozumiem, że zgodnie z tym co napisałeś mam zrobić sobie kolejkę i dodawać te eventy do kolejki, a potem obsługiwać je we wzorcu?

Pozostało 580 znaków

2015-01-21 10:52
gosc_z_pytaniem
0

Tak. Można powiedzieć, że Twoim producentem będzie event handler, który będzie dodawał na kolejkę dane, konsument to mechanizm, który cały czas w jednym wątku będzie zdejmował z kolejki elementy i wykonywał dla nich akcje.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0