Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
100 puan değerinde (Threading)
#61
Benim çözümümü ekteki örnek proje üzerinde görebilirsiniz.

.zip   MsgWaitForMultipleObjects_Deneme.zip (Dosya Boyutu: 55,12 KB / İndirme Sayısı: 123)


Ama basit çözümü kod olarak da paylaşayım. Dikkatinizi CPU kullanımına çekmek istiyorum elbette.

  while Event.WaitFor(0) = wrTimeOut do
 begin
   WaitMessage;
   Application.ProcessMessages;
 end;

Yukarıdaki koddan WaitMessage API'sini kaldırırsanız, muhtemelen %10+ bir CPU kullanımınız olur, aksi durumda %0-%1 aralığında bir CPU kullanımı olacaktır.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#62
Teşekkür ederim hocam.
Cevapla
#63
Rica ederim, umarım işinize yarar.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#64
windows ortamını için bu güzel kodunuza teşekkür ediyorum.
Cevapla
#65
procedure TForm1.Button1Click(Sender : TObject);
var
Thrd : TThread;
begin
Thrd := TThread.CreateAnonymousThread(
procedure
begin
Sleep(10000);
end
);
Thrd.FreeOnTerminate:=false;
Thrd.Start;
Thrd.WaitFor;
//CPU %0 dır
Memo1.Lines.Add('Thread bitti');
FreeAndNil(Thrd);
end;
Cevapla
#66
@ercan_elo_bil Forumumuza aramıza hoş geldiniz, puanınızı da verdim ama kod renklendirmeye dikkat ederseniz mod arkadaşlar çok sevinecektir  Smile
Cevapla
#67
(23-03-2022, Saat: 14:53)ercan_elo_bil Adlı Kullanıcıdan Alıntı: procedure TForm1.Button1Click(Sender : TObject);
var
 Thrd : TThread;
begin
 Thrd := TThread.CreateAnonymousThread(
   procedure
   begin
     Sleep(10000);
   end
 );
 Thrd.FreeOnTerminate:=false;
 Thrd.Start;
 Thrd.WaitFor;
//CPU %0 dır
 Memo1.Lines.Add('Thread bitti');
FreeAndNil(Thrd);
end;

Maalesef cevabınız doğru değil. İlk sayfaya gidip soruyu bir kere daha detaylıca okuyabilirsiniz. 

"Uygulamanızın ana thread'ini durdurmadan(kullanıcı ile etkileşimli kalmaya devam edecek şekilde); bir başka senkronizayson nesnesini ya da bir thread'i nasıl beklersiniz ?"
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi