锁定在一个线程中,在另一个线程中释放

Nik*_*hil 8 c# multithreading thread-safety

我有一个游戏服务器,可以接受用户的请求.用户可以请求放置件.然后,place方法会生成一些异步httpwebrequests(带有超时),以确定放置是否正确.我想要一个在服务器收到放置请求时将被锁定的锁,并且将通过Web回调解锁.我会使用ReaderWriterLock,但只有当我停留在同一个线程中,并且Web请求回调发生在不同的线程上时才有效.我应该使用另一种锁吗?

Spi*_*nim 9

您可以使用信号量.锁定线程获得许可.异步线程释放许可证.信号量很好,因为它们不受单个线程的束缚.