class base
{
base(){f(this);};
static void f(base * b) {(b->d)++;};
int d;
};
Parçacığı Güvenliği ve statik işlevleri
2 ayrı iş parçacığı üzerinde ben tip tabanının bir nesne oluşturmak Şimdi, eğer yöntem iplik güvenli kabul edilebilirf
ki? Bu soruyu soruyorum çünkü bildiğim kadarıyla bir iş parçacığının güvenli olması için statik üyeleri veya genel değişkenleri kullanmaması gerekir. Fakat yukarıdaki örnekte gördüğünüz gibi,
d
değişkenini statik yapmamaya karar verdim.
Ayrıca, bu satırı korumak zorunda olmadığımı düşünüyorum: (b->d)++;
her bir iş parçacığı ayrı bir temel ve değişken d örneğine sahip olduğundan, bir muteks ile.
Analizimde düzeliyorum mu? Dikkat etmem gereken bir şey var mı?
Doğru, temel işaretçiler iş parçacığına özgü olduğunuz sürece, iyisiniz. – perreal
Programınızı derleyebiliyor musunuz? Bir derleme hatası kusması gerekir – stamhaney
@stamhaney, hayır ben sadece teoriyi çözmeye çalışıyorum değil :) lütfen problemi belirtin – Kam