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