[库日常发现] MedallionShell 基于 System.Diagnostics.Process 构建的增强Shell 组件
基于 System.Diagnostics.Process 构建。做了一些增强。比如:支持 async/await 和 Task 。在不产生死锁或争用条件的情况下,支持将标准IO流传输到各种源并从各种源传输。自动转义输入参数,避免安全漏洞。 Read more
Happy coding everyday~~
基于 System.Diagnostics.Process 构建。做了一些增强。比如:支持 async/await 和 Task 。在不产生死锁或争用条件的情况下,支持将标准IO流传输到各种源并从各种源传输。自动转义输入参数,避免安全漏洞。 Read more
通常,使用异步锁都是直接使用这个库 AsyncEx 中的 AsyncLock 。 先看看官方栗子: private readonly AsyncLock _mutex = new AsyncLock(); public async Task UseLockAsync() { // AsyncLock can be locked asynchronously using (await _mutex.LockAsync()) { // It's safe to await while the lock is held await Task.Delay(TimeSpan.FromSeconds(10)); } } 这个栗子的效果是如果有很多用户同时访问进来,里面的内容会 one by one 执行,不会出现同时执行的情况。 Read more