Mercurial > hg > Database > jungle-sharp
comparison src/main/csharp/jp.ac.u-ryukyu.ie.cr/jungle-main/transaction/AtomicReference.cs @ 10:abe0c247f5a5
Add Network module. but, unComplete NetworkDefaultJungleTreeEditor.cs
author | Kazuma Takeda <kazuma-arashi@hotmail.co.jp> |
---|---|
date | Sun, 23 Oct 2016 07:40:50 +0900 |
parents | |
children | faa8a0c1492e |
comparison
equal
deleted
inserted
replaced
9:e6ad9016601c | 10:abe0c247f5a5 |
---|---|
1 using System.Threading; | |
2 | |
3 public class AtomicReference <T> where T : class { | |
4 private T value; | |
5 | |
6 public AtomicReference(T value) { | |
7 this.value = value; | |
8 } | |
9 | |
10 public bool CompareAndSet(T newValue, T prevValue) { | |
11 // change to compere exchange. | |
12 T oldValue = value; | |
13 return (oldValue != Interlocked.CompareExchange (ref value, newValue, prevValue)); | |
14 } | |
15 | |
16 | |
17 public T Get() { | |
18 return value; | |
19 } | |
20 } |