SORU
19 Kasım 2008, ÇARŞAMBA


C çeşitli iş parçacığı eşitleme seçenekleri arasındaki farklar ne#?

Arasındaki farkı açıklayacak biri olabilir:

  • (someobject) {} kilitleyin
  • Zaman Uyumu Sağlayıcısı Kullanarak
  • Semafor Kullanarak
  • Kullanarak İzlemek
  • Diğer Kullanarak .Eşitleme sınıfları Net

Ben sadece bunu anlamaya olamaz. İlk ikisi aynı gibi geliyor bana?

CEVAP
19 Kasım 2008, ÇARŞAMBA


Çok güzel bir soru. Ben belki yanlış.. bana.. Revizyon deneyelim orig cevabım daha anlayış biraz..#2. Beni Oku:) yaptığın için teşekkür ederim

kilit(n)

  • bir CLR (içi nesne?) yapısıdır. bir iş parçacığı eşitleme. Sağlayan tek bir iş parçacığı nesnenin kilidi sahipliğini & kod kilitli blok girebilirsiniz. Diğer konuları şimdiki sahibi kod bloğu çıkarak kilit siler kadar beklemeniz gerekir. Ayrıca sınıfın üyesi bir nesne üzerinde kilit önerilir.

İzler

  • kilit(n) dahili bir Monitör uygulanan kullanıyor.Temizleme işlemi unutmak gibi koşuşturup kadar engeller çünkü kilit(n) tercih etmelisiniz. Bu iş çocuk oyuncağı varsa Eğer Monitör oluşturmak.< / ^ br . Monitör kullanarak izler için özel olarak dizayn edilmiştir çünkü genellikle birbirini kapsamayan nesneler üzerinden tercih edilir .NET bir Çerçeve ve bu nedenle kaynakların daha iyi kullanmak.

İplik-hassas kod blokları aynı anda yürütme önlemek için yararlıdır kilit ya da bir monitör kullanıyorum amabu yapıları bir iş parçacığı, başka bir olay olarak iletişim kurmasına izin vermez. Bu eşitleme olayı gerektiririki devlet , sinyal biri olan nesneleri ve BM-sinyal, ve askıya konuları etkinleştirmek için kullanılabilir. Zaman uyumu, Semafor OS düzey kavramlardır. e.adlı bir dışlama ile g birden fazla (yönetilen) senkronize edebilirsin giderler (uygulama yalnızca bir örneği makinede çalışıyor. sağlama)

Zaman uyumu:

  • İzler, ancak, farklı olarakbir dışlama süreçleri karşısında konuları eşitlemek için kullanılır.Süreçler arası senkronizasyonu için kullanılan zaman, bir dışlama denirzaman uyumu adındabaşka bir uygulama, ve bu nedenle kullanılacak çünkü global veya statik değişkeni ile paylaşılamaz. Her iki uygulama da aynı dışlama nesne erişebilmeleri için bir isim verilmelidir. Buna karşılık,zaman uyumu sınıfı, win 32 oluşturmak için bir sarıcı. Bir monitör daha güçlü olsa da, bir zaman uyumu hesaplama daha bu Monitör sınıfı tarafından gerekli daha pahalı olan birlikte çalışabilirlik geçişler gerektirir.

Semaphores(beynime zarar).

  • Semafor sınıfı kaynaklarından bir havuz erişimi kontrol etmek için kullanın. Konuları WaitHandle sınıfından miras olan WaitOne metodu çağırarak semafor girin ve Serbest bırakma yöntemini çağırarak semafor serbest bırakın. Bir semafor sayısı bir iş parçacığı semafor her girdiğinde indirildiği, ve bir iş parçacığı semafor serbest bıraktığında artırılır. Bu sayı sıfır olduğunda, sonraki istekleri başka bir iş parçacığı kadar semafor serbest blok. Tüm iş parçacığı semafor serbest zaman, Kont maksimum değer semafor oluşturulduğu belirtildi. Bir iş parçacığı Semafor sınıfı WaitOne konu kimlik zorlamaz..semafor birden çok kez girin ya.. programcılar sorumluluk değil, muck kadar Serbest bırakabilirsiniz. Semafor iki türlüdür: yerel semafor ve adlandırılmışsistem semafor. Eğer Semafor nesnesi bir ad kabul eden bir kurucu kullanarak oluşturursanız, bu isim işletim sistemi semafor ile ilişkilidir.Sistem semafor adlı işletim sistemi boyunca görülebilir ve süreçlerin etkinliklerini eşitlemek için kullanılabilir. Yerel bir semafor sadece süreci içinde bulunmaktadır. Yerel bir Semafor nesnesi için bir başvuru sürecinde herhangi bir iş parçacığı tarafından kullanılabilir. Her Semafor nesnesi ayrı yerel bir semafor.

THE PAGE TO READ - Thread Synchronization (C#)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Floortile83

    Floortile83

    16 Ocak 2010
  • Julian Smith

    Julian Smith

    31 EKİM 2006
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010