23 lines
448 B
C#
23 lines
448 B
C#
using System.Threading;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
|
|
namespace Rukhanka
|
|
{
|
|
public static class InterlockedExtensions
|
|
{
|
|
public static bool InterlockedMax(ref int location, int newValue)
|
|
{
|
|
int l;
|
|
do
|
|
{
|
|
l = location;
|
|
if (l >= newValue)
|
|
return false;
|
|
}
|
|
while (Interlocked.CompareExchange(ref location, newValue, l) != l);
|
|
return true;
|
|
}
|
|
}
|
|
}
|