Kilitli sınıfı öğrendim ve sadece kilitlemekten daha hızlı olması gerekiyordu. Şimdi, bu her şey güzel ve güzel, ama uygulama konusunda merak ediyorum.Kilitler nasıl çalışır ve neden kilitlenmekten daha hızlıdır?
Bildiğim kadarıyla, bir değişkendeki işlemin atomik olarak yapılmasını sağlamanın tek yolu, yalnızca bir iş parçacığının bu değişkene zaman içinde her an erişebilmesini sağlamaktır. Hangi kilitleniyor.
Ben kenetlenmiş kaynağını elde etmek için reflektör kullandım, ama buna tüm işi yapmak için harici bir yöntem kullanır gibi görünüyor: aslında iki kat halinde Bazı testler ettik
[MethodImpl(MethodImplOptions.InternalCall), ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
internal static extern int ExchangeAdd(ref int location1, int value);
ve Interlocked Nesneyi kilitlemek ve arttırmak kadar hızlıdır.
Nasıl yapıyorlar?
CPU desteği .... – spender
Ne demek istiyorsun? –