如何让同一时间只让一个人执行导出(Excel)操作?
🏷️ C#
添加
using
:csharpusing System.Threading;
定义静态变量:
csharp/// <summary> /// 这个互斥体可以保证所有进程得到同步 /// </summary> static Mutex mutex = new Mutex(false, "Export");**
添加互斥操作:
csharp// 进入互斥(等待 10 秒超时返回 false) if(mutex.WaitOne(10000)) { try { // 导出数据 WriteExcel(); } catch (Exception) { throw; } finally { // 退出互斥 mutex.ReleaseMutex(); } } else { // todo 已经有人在导出时的处理 }