Thread View: pl.comp.lang.delphi
4 messages
4 total messages
Started by Grzegorz Skoczylas
Fri, 22 Jul 2016 11:19
OmniThreadLibrary - lista aktywnych wątków
Author: Grzegorz Skoczylas
Date: Fri, 22 Jul 2016 11:19
Date: Fri, 22 Jul 2016 11:19
12 lines
2028 bytes
2028 bytes
Cześć! Jest sobie stary, duży, mocno rozbudowany program, pisany przez wielu różnych programistów, mający w przeszłości różnych właścicieli. W tym programie w niektórych funkcjach używana jest biblioteka OmniThreadLibrary. Potrzebuję uzyskać informację, jakie wątki działają w danym momencie, czyli potrzebowałbym albo listę aktualnie działających wątków, albo jakąś informację, że wątek rozpoczął/zakończył działanie. Szukam jakiegoś rozwiązania, które nie wymagałoby modyfikowania istniejącego kodu (np. jakieś globalne eventy, itp.). Niestety nie mam praktycznie żadnego doświadczenia w używaniu tej biblioteki, a dokumentacja jest nieco skąpa. Oczywiście szukałem w Internecie, ale - jak dotąd - bez powodzenia. Będę wdzięczny za wszelkie wskazówki. :-) -- Grzegorz Skoczylas
Re: OmniThreadLibrary - lista aktywnych wątków
Author: mmm
Date: Fri, 22 Jul 2016 13:12
Date: Fri, 22 Jul 2016 13:12
10 lines
1424 bytes
1424 bytes
W dniu 2016-07-22 o 13:19, Grzegorz Skoczylas pisze: > Potrzebuję uzyskać informację, jakie wątki działają w danym momencie, czyli potrzebowałbym albo listę aktualnie działających wątków, albo jakąś informację, że wątek rozpoczął/zakończył działanie. Szukam jakiegoś rozwiązania, które nie wymagałoby modyfikowania istniejącego kodu (np. jakieś globalne eventy, itp.). > > -- > Grzegorz Skoczylas > http://www.nirsoft.net/utils/process_threads_view.html Nada się ? M
Re: OmniThreadLibrary - lista aktywnych wątków
Author: Grzegorz Skoczylas
Date: Tue, 26 Jul 2016 06:51
Date: Tue, 26 Jul 2016 06:51
16 lines
2465 bytes
2465 bytes
W dniu piątek, 22 lipca 2016 15:12:58 UTC+2 użytkownik mmm napisał: > http://www.nirsoft.net/utils/process_threads_view.html > Nada się ? > Niestety nie, ale to moja wina, bo nie byłem wystarczająco precyzyjny. Potrzebuję w tym programie zaimplementować watch-doga -- funkcję uruchamianą cyklicznie (timerem), która będzie sprawdzać, czy jakiś wątek nie działa podejrzanie długo i raportować takie przypadki. Jak pisałem, program był rozwijany przez kilkanaście lat, przez kilku właścicieli i wielu programistów. Część wątków bazuje na standardowym komponencie TThread. Dla tych wątków napisałem własną "czapę", w której w zmiennej klasowej przechowuję listę aktywnych wątków. W dotychczasowym kodzie tylko hurtem zamieniłem słowo TThread na moją klasę i to mam obsłużone. Część wątków bazuje na Omni Thread Library. Nie mam prawie żadnego doświadczenia z tą bibliotekę. Aktualnie próbuję się zorientować, jak w tym przypadku monitorować aktywne wątki, przy jak najmniejszej ingerencji w dotychczasowy kod. -- Grzegorz Skoczylas
Re: OmniThreadLibrary - lista aktywnych wątków
Author: arivald
Date: Tue, 26 Jul 2016 14:53
Date: Tue, 26 Jul 2016 14:53
22 lines
1609 bytes
1609 bytes
W dniu 2016-07-26 o 08:51, Grzegorz Skoczylas pisze: > W dniu piątek, 22 lipca 2016 15:12:58 UTC+2 użytkownik mmm napisał: > >> http://www.nirsoft.net/utils/process_threads_view.html >> Nada się ? >> > > Niestety nie, ale to moja wina, bo nie byłem wystarczająco precyzyjny. > Olej biblioteki, i listę wątków pobierz od systemu. Dopiero mając wątki ewentualnie dopasuj TThread (TThread.ThreadID) czy obiekt wątku z Omni (nie znam go, ale przebić się przez źródła to chyba nie problem?). https://msdn.microsoft.com/en-us/library/windows/desktop/ms686852(v=vs.85).aspx BTW można takiego watchdoga zaimplementować jako osobną aplikację. -- Arivald
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads