0
我正在開發Windows手機應用程序。我一直在寫數據庫。但我知道不能寫數據庫併發。我應該使用ThreadPool將一些線程推入隊列。並處理序列。避免寫入數據庫併發。但是我無法在MSDN中清楚地看到一些例子。有人知道。現在我只有2個方法異步。裏面有寫數據庫的指令。ThreadPool Windows phone App 8.1
我正在開發Windows手機應用程序。我一直在寫數據庫。但我知道不能寫數據庫併發。我應該使用ThreadPool將一些線程推入隊列。並處理序列。避免寫入數據庫併發。但是我無法在MSDN中清楚地看到一些例子。有人知道。現在我只有2個方法異步。裏面有寫數據庫的指令。ThreadPool Windows phone App 8.1
如果你想執行的方法順序(從任何線程),你可以使用SemaphoreSlim
:
/// <summary>
/// Semaphore to block access method. Only one thread at a time can execute this part of code.
/// </summary>
private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(1, 1);
public async Task AsyncMethod()
{
await Task.Run(async() =>
{
await _semaphore.WaitAsync();
// TODO critical code
_semaphore.Release();
});
}