2011-05-11 9 views
6

, daha iyi iplik veya iplik içinde başlatmadan önce sayımını artırmak için başparmak daha iyi kural bunun? Daha genel bir anlamdaReferans sayımları arttırmak için başparmak kuralı nedir? Diğer iş parçacığı referansı sayılan nesneler gönderirken

, ben (bir fonksiyonu olarak) zaten ya da değil muhasebeleştirilir bana geçirilen parametreleri üstlenmesi gerektiğini? Eğer nesneyi geçmesi yeni bir iş parçacığı içinde sayımı artırma

+0

? Farklı teknolojiler farklı cevaplara sahip olabilir. (@closevoter. Bu açıklama biraz gerekebilir benim için gerçek bir soru gibi geliyor, ama ...) –

+0

İyi bir nokta, ben özellikle C bahsediyorum, ama öyle değil herhangi bir dil için de geçerli olabilir düşünüyorum Doğal olarak uygulanan referans sayımı var. –

cevap

4

neredeyse kesinlikle yanlıştır. "Ebeveyn" iş parçacığı içinde rasgele bir kod yeni "alt" iş parçacığı çalışmaya başlamadan önce çalışabilir, bu durumda "üst" öğesindeki işlev geri dönebilir, başka şeyler yapabilir, referans sayısını 0'a indirebilir ve nesneyi serbest bırakın. Yeni iş parçacığı daha sonra geçersiz belleğe dokunur, tanımlanmamış davranışı çağırır ve tüm cehennem kaybedecektir. Yeni iplik hemen aday olmamaya için istatistiksel alışılmadık beri böyle hatalar muhtemelen uzun bir süre boyunca tespit edeceği

ayrıntılı not. Aslında muhtemelen :-) ... müşterilerinizin ilk böceği görmek/müşteriler olacak bu referans nedir teknoloji

+0

Teşekkürler! Bu, uydurmadığım bir parça ... bu, çocuğun iddia edemeyebilmesi için referansı serbest bırakan ebeveyn hakkında. –