在處理并發請求時,可以使用鎖機制來保證同一時間只有一個請求能夠訪問共享資源。以下是一個簡單的示例代碼,演示如何使用鎖來處理并發請求:
public class ConcurrentEndpoint
{
private static object lockObject = new object();
public void HandleRequest()
{
lock (lockObject)
{
// 在這里執行需要保護的代碼塊
Console.WriteLine("處理請求開始");
Thread.Sleep(5000); // 模擬處理請求的耗時操作
Console.WriteLine("處理請求結束");
}
}
}
在上面的示例中,我們使用一個靜態的lockObject
對象作為鎖對象,然后在HandleRequest
方法中使用lock
關鍵字來鎖定這個對象。這樣就可以確保同一時間只有一個請求能夠進入被保護的代碼塊。
需要注意的是,鎖機制可能會導致性能問題,因為當一個請求被鎖定時,其他請求必須等待。如果并發請求量較大,可以考慮使用更高級的并發控制技術,如信號量、讀寫鎖等。