Wywołanie metody w istniejącym wątku

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

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.

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.

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.

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