Skip to content

M_CodeJam_Threading_InterlockedOperations_Update_3

Andrew Koryavchenko edited this page Jun 17, 2018 · 6 revisions

InterlockedOperations.Update Method (Int32, Int32, Func(Int32, Int32, Int32))

Implements lock-free update pattern implementation based on compare-and-swap loop

Namespace: CodeJam.Threading
Assembly: CodeJam (in CodeJam.dll) Version: 2.1.0.0

Syntax

C#

public static int Update(
	ref int value,
	int newValue,
	Func<int, int, int> updateCallback
)

VB

Public Shared Function Update ( 
	ByRef value As Integer,
	newValue As Integer,
	updateCallback As Func(Of Integer, Integer, Integer)
) As Integer

F#

static member Update : 
        value : int byref * 
        newValue : int * 
        updateCallback : Func<int, int, int> -> int 

Parameters

 

value
Type: System.Int32
Value to change.
newValue
Type: System.Int32
Precalculated new value.
updateCallback
Type: System.Func(Int32, Int32, Int32)
Function to calculate new value.

Return Value

Type: Int32
New value.

Remarks

Uses the same approach that used by c# compiler in event subscription methods

See Also

Reference

InterlockedOperations Class
Update Overload
CodeJam.Threading Namespace

Clone this wiki locally