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

  • circuschina

    circuschina

    16 Mart 2007
  • Rickymon Tero

    Rickymon Ter

    1 Ocak 2007
  • WePlayWeWatch

    WePlayWeWatc

    3 Temmuz 2013