Criticalsection prosedür kilitleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ikra
Üye
Mesajlar: 900
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Criticalsection prosedür kilitleme

Mesaj gönderen ikra »

Icinde bir adet criticalsection ve iki adet prosedürün oldugu bir sinifim var.

Kod: Tümünü seç

TSinif = class
private
  FSection: TCriticalSection;
public
  procedure Proc1;
  procedure Proc2;
end;

procedure TSinif.proc1;
begin
  Fsection.Lock;
    try
      islem;
    finally
      Fsection.Unlock;
    end;
end;
Her iki prosedürün de bu tarz oldugunu varsayacak olursak, birinci thread Proc1'e girip kilitlediginde ikinci thread Proc2'nin kilidinde beklemeye mi alinir yoksa kilit Proc1'de tetiklendigi icin Proc2 bagimsiz mi olur?
kıdemsiz üye
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Criticalsection prosedür kilitleme

Mesaj gönderen thelvaci »

Burada bir thread görünmüyor ama critical section sınıf bazlı görünüyor. Dolayısı ile farklı sınıfın instance'ları için farklı critical section'lar vardır. Birden fazla thread aynı sınıf instance'ını kullanıyor ise tek bir critical section kullanacakları için critical section'dan beklenen davranış sergilenir.
Cevapla