2011-09-26 115 views
1

我正在编写一个Java应用程序,该应用程序访问作为共享资源存储在Windows服务器中的配置文件。该应用程序被认为约有500名员工使用,所以它让我想到并发性。并发访问共享资源

与实现相关,我通过JCIFS库访问文件,然后使用inputStream读取并处理它。我想虚拟机与这个和应用程序代码无关,所以我指出了操作系统,在这种情况下,Windows。

我不知道哪里必须如何处理这个问题,或者即使我不得不这样做。

另一方面,我们正在讨论一个远程文件,但是如果文件位于我们的文件系统中会发生什么?在这种情况下,VM有话要说不是吗?可以通过文件打开多少个不同的输入流?并输出流?

我知道这些都不是具体问题,所以回答它们一定很难。但任何帮助,评论或建议将不胜感激。

在此先感谢!

回答

1

另一方面,我们谈论的是一个远程文件,但是如果文件位于我们的文件系统中会发生什么?

它仍然是一个InputStream。

在这种情况下,VM有话要说不是吗?

它可以,如果你想,但一般不会。

可以在文件上打开多少个不同的输入流?

受操作系统限制,通常为数千个。

和输出流?

相同。但是如果你用一个以上的进程写入一个文件,结果可能会很糟糕,但是你更可能从一个程序中获得输出。 (但是你不知道没有重新阅读它)

0

当你的应用程序正在使用它时,文件将被写入吗?如果不是,那么我无法想象它是一个问题。想想同一个文件可以同时打开多个编辑器 - 没有伤害没有犯规,直到有人进行更改并写入。