2014-03-27 28 views
1

为了记录目的,服务器上的某个文件将被多次写入。该文件将被几百个用户访问,可能同时访问。如何管理VB.net中的并发性,以便文件没有损坏?在写入VB.net中的文件时如何处理并发?

+0

很不清楚为什么一个简单的SyncLock不适合。 –

+0

在使用SyncLock时,如何在每次用户执行操作时管理新线程的创建,以便将请求发送到服务器进行日志记录?由于数百名用户可能实际上同时登录,因此该方法是否优化? – surya

回答

0

直接从客户端做到这一点非常困难。

但是,如果引入一层间接寻址,它应该可以解决。

例如,您可能有一个基于服务器的组件(例如Web服务甚至Windows服务),并且您的所有客户端都将其消息发送给它。它和它本身负责记录到文件。它需要管理一种或另一种形式的队列。

人们用来处理这种情况的一种常见的基于服务器的组件是(drumroll)一个数据库。您可以使用数据库作为日志记录的端点,然后对发生锁定的方式进行细化控制。