Używam delphi 2010, czy istnieje sposób sprawdzania liczby wątków projektu za pomocą funkcji delphi lub api okna?Liczba uruchomionych wątków
Odpowiedz
można użyć funkcji CreateToolhelp32Snapshot
z flagą TH32CS_SNAPTHREAD
zobaczyć ten kod.
uses
PsAPI,
TlHelp32,
Windows,
SysUtils;
function GetTThreadsCount(PID:Cardinal): Integer;
var
SnapProcHandle: THandle;
NextProc : Boolean;
TThreadEntry : TThreadEntry32;
Proceed : Boolean;
begin
Result:=0;
SnapProcHandle := CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); //Takes a snapshot of the all threads
Proceed := (SnapProcHandle <> INVALID_HANDLE_VALUE);
if Proceed then
try
TThreadEntry.dwSize := SizeOf(TThreadEntry);
NextProc := Thread32First(SnapProcHandle, TThreadEntry);//get the first Thread
while NextProc do
begin
if TThreadEntry.th32OwnerProcessID = PID then //Check the owner Pid against the PID requested
Inc(Result);
NextProc := Thread32Next(SnapProcHandle, TThreadEntry);//get the Next Thread
end;
finally
CloseHandle(SnapProcHandle);//Close the Handle
end;
end;
i połączenia w ten sposób, korzystając z funkcji Wich GetCurrentProcessId
Pobiera PID (identyfikator procesu) aplikacji.
Var
Num :integer;
begin
Num:=GetTThreadsCount(GetCurrentProcessId);
end;
Jest to rodzaj przesady, aby uzyskać liczbę, ale CreateToolhelp32Snapshot
, a następnie Thread32First
i Thread32Next
powinny wykonać zadanie.
Zobacz przykładowy kod here, który wylicza wątki procesu.
Za pomocą usługi WMI można uzyskać listę procesów uruchomionych w systemie i wszystkie informacje o procesie. Musisz użyć klasy Win32_process.
Klasa ta obejmuje THREADCOUNT metoda:
······································· ··················
ThreadCount
Liczba aktywnych wątków w procesie. Instrukcja jest podstawową jednostką wykonawczą w procesorze, a wątek jest obiektem, który wykonuje instrukcję. Każdy uruchomiony proces ma co najmniej jeden wątek. ····································································································· ·········
Here (w mojej sieci) można znaleźć zasoby na ten temat.
(1) VProcess; Aplikacja ta używa GLibWMI Library do pobierania wszystkich uruchomionych procesów i informacji na ten temat. ThreadCount jest zawarty w tej informacji. Projekt jest darmowy i zawiera źródło (możesz je zobaczyć i ocenić).
(2) Można pobrać GLibWMI i zobaczyć element TProcessInfo że daje wszystkie informacje o procesie (nie jest to wykorzystywane na VProcess). Ta biblioteka jest bezpłatna, a kod źródłowy jest dostępny. Możesz go zobaczyć i ocenić kod. Zobacz dema, które testują ten komponent.
Mam nadzieję, że jest to dla Ciebie przydatne.
Pozdrawiam.
- 1. Optymalizacja maksymalnej liczby wątków uruchomionych na procesorze
- 2. Daemon Wątki, liczba wątków i łączna liczba rozpoczętych wątków
- 3. Maksymalna liczba wątków ThreadPool
- 4. wielowątkowość (openMP) - liczba równoległych wątków
- 5. python - jak uzyskać liczbę aktywnych wątków uruchomionych przez określoną klasę?
- 6. Jak mogę wyświetlić listę wszystkich wątków uruchomionych przez setTimeout/setInterval
- 7. OMP - więcej wątków niż liczba procesorów?
- 8. . Maksymalna liczba równoczesnych wątków z timerem
- 9. Zmienna liczba asynchronicznych wątków z C++ 11
- 10. Liczba wątków używanych przez Intel TBB
- 11. Maksymalna liczba wątków, które można zainicjować w jednym jądrze CUDA.
- 12. 100 wątków TIMED_WAITING w tomcat, powodując ich zatrzymanie, ponieważ całkowita liczba wątków przekracza 200
- 13. Jabłko dostaje listę uruchomionych aplikacji?
- 14. Planowanie uruchomionych zadań w java
- 15. Ile instancji CLR jest uruchomionych?
- 16. Wyliczenie uruchomionych procesów w Delphi
- 17. AppleScript - lista wszystkich uruchomionych aplikacji
- 18. Dowiedz się, ile wątków obsługuje moja aplikacja?
- 19. Znajdowanie przyczyny oczekujących/wątków wątków
- 20. Wyjątki dotyczące wątków puli wątków
- 21. znaczenie (liczba) i (liczba)
- 22. Jak ustawić pewną liczbę wątków działających cały czas
- 23. Jak zatrzymać skrypt PHP uruchomionych na tle
- 24. Lista wszystkich uruchomionych procesów w Contiki OS
- 25. Jak słuchać zdarzeń uruchomionych w Picasso (Android)?
- 26. Wyniki testów jednostek uruchomionych w VisualStudio
- 27. Błąd Heroku H14 (brak uruchomionych procesów internetowych)
- 28. sposób ograniczania liczby jednocześnie uruchomionych zadań PBS
- 29. Ograniczanie liczby uruchomionych zadań w systemie SLURM
- 30. liczba Liczba przedmiotów z nieruchomości
Dzięki za odpowiedź. – lmengyew