SORU
7 Ocak 2009, ÇARŞAMBA


Nasıl bu C bilebilirim# yöntem iş parçacığı güvenli mi?

ASP.NET önbellek maddenin kaldırılması bir olay için geri çağrı işlevi oluşturmak için çalışıyorum.

Belgelere diyor aramalıyım bir yöntem bir nesne ya da telefon bilecek var (olacak scope) gibi statik bir yöntem, ama dediğim ihtiyacı sağlamak statik iş parçacığı güvenli.

Bazı şeyler bazı örnekler bunu un-iş parçacığı güvenli hale getirmek için Ne yapabilirim? bölüm 1:

Bölüm 2: Bu eğer varsa anlamına Mı geliyor

static int addOne(int someNumber){
    int foo = someNumber;
    return foo  1; 
}

ve Sınıf diyorum.addOne(5); Sınıf.addOne(6); simutaneously, 6 veya 7 iade olarak alabilir miyim hangi çağırma foo ilk kim belirliyor? (bir yarış durumu yani)

CEVAP
7 Ocak 2009, ÇARŞAMBA


BuaddOneişlev başka bir iş parçacığı tarafından erişilebilen herhangi bir veri erişim değil, çünkü iş parçacığı güvenli. Yerel değişkenler her iş parçacığı kendi yığını alır, çünkü konuları arasında paylaştırılamaz. Emin olmak için, ancak, fonksiyon parametreleri değer türleri ve referans türleri değil.

static void MyFunction(int x) { ... } // thread safe. The int is copied onto the local stack.

static void MyFunction(Object o) { ... } // Not thread safe. Since o is a reference type, it might be shared among multiple threads.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • pjtoohot

    pjtoohot

    15 NİSAN 2008
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008