SORU
19 EYLÜL 2008, Cuma


Nedir &; Python iş parçacığı yerel depolama"", ve neden ihtiyacım var?

Python özellikle, nasıl değişkenler iş parçacıkları arasında paylaşılan alabilirim?

Önce threading.Thread kullanmış olmama rağmen, hiç veya bir paylaşılan değişkenler nasıl anlaşılır örnekler gördüm. Çocuklar arasında ana iş parçacığı ve çocuklar arasında ya da sadece paylaşılır? Ne zaman bir iş parçacığı yerel depolama bu paylaşımı önlemek için kullanmak gerekir?

Kilitler kullanarak iş parçacığı arasında paylaşılan verilere erişim eşitleme hakkında birçok uyarılar gördüm ama henüz sorunun gerçekten iyi bir örnek görmem lazım.

Şimdiden teşekkürler!

CEVAP
19 EYLÜL 2008, Cuma


Python ile her şey, işlevi yerel değişkenler (her bir işlev çağrısı yerliler kendi kümesini alır, çünkü, ve ipler her zaman ayrı işlev çağrıları vardır.) dışında paylaşılan Ve o zaman bile, sadece kendilerini değişkenler (nesneler için başvuran isimleri) işlevi için yerel; nesnelerin kendilerini her zaman geneldir ve onlara bir şey ifade edebilir. Belirli bir iş parçacığı için Thread nesne bu konuda özel bir nesne değildir. Thread nesne bir yerde saklarsanız bütün konuları bütün tartışmaları Thread bir nesne erişebilir sonra (global değişken) erişebilirsiniz. Eğer isterseniz atomik değiştirinhiçbir şeysadece aynı bu konuyu sen yaratmadın, ve iplik de olabilir başka bir yerde depolamak değil, bir kilit ile onu korumalısın. Ve tüm konuları tabii ki bu çok aynı kilit paylaşmak gerekir, ya da çok etkili olmaz.

Eğer gerçek bir iş parçacığı yerel depolama istiyorsanız, o threading.local burada devreye giriyor. threading.local öznitelikleri konuları arasında paylaşılır; her iş parçacığı kendisi orada yer öznitelikleri görür. Eğer uygulaması hakkında merak ediyorsanız, kaynak standart kütüphanede _threading_local.py.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010