Wywołanie metody w istniejącym wątku

Wywołanie metody w istniejącym wątku
W2
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam,

Potrzebuję uzyskań następujący efekt:
Inicjalizację działania urządzenia pobierającego dane z portu COM chcę wykonać w wątku głównym aplikacji. Po inicjalizacji odpalany jest osobny Task (tpl) który w tle odpytuje sobie urządzenie COM i w razie otrzymania odpowiedzi uruchamia metodę parsującą. Chcę jednak by sama metoda parsująca została wykonana w wątku głównym, a wątek odpytujący nadal działał sobie w tle nie przejmując się efektem tego parsowania - po prostu przekazuje odczytaną z COM tablicę bajtów do metody prasującej w wątku głównym i leci dalej. W jaki sposób osiągnąć coś takiego ?

Niestety programowanie równoległe to chwilowo moja kula u nogi, a muszę to zrobić w taki sposób.

Pozdrawiam,
W2K

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

Jeśli coś ma chodzić w nieskończoność w tle, to nie używaj do tego Task tylko Thread. Ideą Taska jest to, że robi co ma robić i znika.

W2
  • Rejestracja: dni
  • Ostatnio: dni
0

OK, ale to chyba nadal nie wyjaśnia tego w jaki sposób przkazać sterowanie z wątku odpytującego do wątku głównego w opisany wyżej sposób. Zresztą czy Task nie jest tak naprawdę tylko opakowaniem Thread. Zresztą samego Thread i tak nie mogę użyć bo aplikacja będze działać jako UWP a tam nie ma chyba dostępu do Thread.

  • Rejestracja: dni
  • Ostatnio: dni
0

Zrób sobie kolejkę potem blokadą synchronizuj albo po prostu task - metod jest wiele musisz przekazać dane do innego wątku czy to GUI czy to task czy thread no matter jedną metodą a właściwie delegatą przekazujesz dane i kontynuujesz czytanie z coma.. Cheers. Ja do takich celów robie specjalizowane klasy i używam semaforów aby np. mieć 10 wątków pracujących a nie więcej itp. itd.

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.