System.Threading.LockExecution
public class LockExecution
Class Overview
Provides utilities for executing code sections under exclusive lock, ensuring thread safety.
Methods
Execute<TResult>(Func<TResult> function, TimeSpan timeout)
public static TResult Execute<TResult>(Func<TResult> function, TimeSpan timeout)Executes the provided function within a lock, waiting for the specified timeout if the lock is unavailable.
If the lock cannot be acquired within the timeout, an exception is thrown.
Parameters:
function: The function to execute under the lock.timeout: The maximum time to wait for the lock.
Returns: The result of the executed function.
Throws: TimeoutException if the lock cannot be acquired within the specified timeout.
Execute(Action action, TimeSpan timeout)
public static void Execute(Action action, TimeSpan timeout)Executes the provided action within a lock, waiting for the specified timeout if the lock is unavailable.
If the lock cannot be acquired within the timeout, an exception is thrown.
Parameters:
action: The action to execute under the lock.timeout: The maximum time to wait for the lock.
Throws: TimeoutException if the lock cannot be acquired within the specified timeout.
Execute(Action action)
public static void Execute(Action action)Executes the provided action within a lock, blocking indefinitely until the lock is available.
Parameters:
action: The action to execute under the lock.