DateTime
gibi uçucu DateTime kullanımı çekişme olmadanuçucu olarak ilan edilemez, bu hak ?: olduğunu
private DateTime _time;
public DateTime Time
{
get
{
Thread.MemoryBarrier();
return _time;
}
set
{
_time = value;
Thread.MemoryBarrier();
}
}
mülkiyet farklı parçacığı erişilebilir olamayacağını
, bu yüzden her zaman en son sürümünü almak sağlamak istiyoruz, (kilit).
DÜZENLEME:
- Ben zor oluşturmak öğeleri, her biri bu öğe oluşturulduğunda belirten CreationTime adında bir DateTime özelliğine sahiptir bir koleksiyona sahip. DateTime.UtcNow için başlatıldı.
- Her öğeye erişildiğinde, bu özellik DateTime.UtcNow olarak güncelleştirilir.
- İş parçacığı, öğeyi sildiğinde (DateTime.UtcNow + 1 saat)> item.CreationTime öğesinin doğru olup olmadığını denetleyen bir iş parçacığında zamanında işleyen bir iş parçacığı vardır.
ben "silme parçacığı" koleksiyonu içine girdiğinde, tüm öğeler en son "son erişim" Üzerinde DateTime sahip olmasını sağlamak istiyoruz, bu yüzden bir önbellek düzenlenen sırf tekrar öğesi oluşturmak önleyebilirsiniz Birkaç milisaniye değeri: D
Şimdiden teşekkürler.
Yapmaya çalıştığınız şeyin mantıklı olup olmadığından emin değilsiniz. En son sürümü nasıl tanımlarsınız? – CodesInChaos
Yayını güncelledim – vtortola
Belirli bir zaman diliminden daha eski kullanılmayan nesneleri kaldırmayı önleyen bir önbellek uyguladığınıza göre, 'InterlockedExchange' çözümünün buraya gitmenin bir yolu olduğunu düşünüyorum. –