Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: CL | DM;

Вниз

Как узнать какие threads запущены?   Найти похожие ветки 

 
Паша_   (2006-02-02 13:50) [0]

Здравствуйте мастера.Помогите пожалуйста решить такую проблему:
Создается поток CreateThread(nil, 0, @RepeatShow, @Param, 0, ThreadId),
потом еще один и еще.А как например уничтожить поток,который был запущен 16 по счету(или например для файла myfile.txt)?


 
Digitman ©   (2006-02-02 13:59) [1]


> как .. уничтожить поток


Уничтожить принудительно ?
Или же дав ему, потоку, возможность самостоятельно "закруглиться по хозяйству" по некоей "команде" ?

Разные ж вещи ..


 
ZeroDivide ©   (2006-02-02 14:02) [2]

Как узнать какие threads запущены?

type TKernelInfo = record
 CpuUsagePcnt:dword;
 Numthreads:dword;
 NumVMS:dword;
end;

vsize:dword
pkey:hkey;

RegQueryValueEx(pkey,"KERNEL\Threads",nil,regtype, @fkernelinfo.numThreads,@vsize);

А как например уничтожить поток,который был запущен 16 по счету?
CreateThread возвращает тебе хендлы. Храни их.

И используй в
TerminateThread(
   HANDLE hThread, // handle to the thread
   DWORD dwExitCode  // exit code for the thread
  );

Чтобы завершить поток.


 
Digitman ©   (2006-02-02 14:07) [3]


> Создается поток CreateThread.. потом еще один и еще


CreateThread - это функция.

А раз это функция, то она призвана возвращать некий результат.

В данном случае результат работы этой ф-ции - хэндл объекта-потока, который м.б. и д.б. использован в прочих ф-циях, осуществляющих доступ к объектам-потокам с той или иной целью.

Решение очевидно - хранить результаты вызовов ф-ции CreateThread() в некоем списке .. или массиве ...

Кр.того, в делфи-приложениях крайне желательно пользовать для создания/старта потоков не CreateThread, а BeginThread. Детали отличий между этими ф-циями - вопрос отдельного обсуждения.



Страницы: 1 вся ветка

Текущий архив: 2006.02.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.031 c
9-1125474249
kyn66
2005-08-31 11:44
2006.02.19
Алгоритм проверки номеров в суперлото.


15-1138706670
YurikGL
2006-01-31 14:24
2006.02.19
ГОСТ на маркировку


3-1135269387
hawkins
2005-12-22 19:36
2006.02.19
Неправильное значение в таблице Interbase, после запроса...


2-1138559162
snykers
2006-01-29 21:26
2006.02.19
как изменить index у treenode


4-1133558140
TheEd
2005-12-03 00:15
2006.02.19
Изменить размер шрифта MainMenu