Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Паша_ ©   (2006-02-02 13:50:00) 

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


Digitman   (2006-02-02 14:07:00) [1]


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


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

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

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

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

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


ZeroDivide   (2006-02-02 14:02:00) [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 13:59:00) [3]


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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо