نعم, : يفترض انك فهمت أنه عند إنها البروسس سيتم إنهاء كل الـ Threads الصادرة منه من طرف النظام .
ولكن لو لم يتم التحرير,, ماذا يحدث ؟ : بالطبع سيتم مواصلة معالجة التعليمات الخاصة بالثريد .
هل يشكل عبئ على الجهاز ؟ : كل التعليمات و الأوامر يتم معالحتها من طرف MP & آلية المعالجة لنظام التشغيل .... فالأمر هنا نسبي !!! .
وكيف يحرر, بعد اغلاق البرنامج ؟ : بواسطة الخاصية Terminate أو الهادم Destroy (الصنف THread)
او TerminateThread (نظام Win) .
هل ينفع شئ آخر غير الريستارت للجهاز ؟ : أظنك تقصد مادا يمكننا فعله بالـ THread ... ببساطة
و فكرة عامة هو تايمر ضئيل الدور < 1ms ... الأن تخيل ماذا يمكنك فعله (بحث عن ملفات , قراءة من ملف , نسخ , تزامن إجرائين أو اكثر في نفس الوقت , .... الخ) .
======================================================
عملت المثال على السريع .. بحيث يمكنك متابعة الـ THreads الصادرة من كل بروسس تحدده (شغال)
لكي تتأكد :
PHP كود :
{$Hints Off}
{$Warnings Off}
{$Optimization On}
Type
ProcTab=Array [0..100]Of DWORD;
Var
PProc:ProcTab;
i:Byte;
Proc: TProcessEntry32;
ProCedure TForm1.GetProcList;
Var
Handle: THandle;
begin
Handle:=CreateToolHelp32SnapShot($00000002, 0);
Proc.dwSize:=Sizeof(TProcessEntry32);
while Process32Next(Handle, Proc) do
Begin
ProcList.Items.Add(Proc.szExeFile);
PProc[i]:=Proc.cntThreads;
Inc(i);
End;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
I:=0;
GetProcList(Proc);
end;
procedure TForm1.ProcListClick(Sender: TObject);
begin
with Proc,ProcList,Label1 do
begin
caption := inttostr(PProc[ItemIndex]);
end;
end;
بالتوفيق ,,