并发访问共享资源

时间:2011-09-26 18:02:58

标签: java concurrency jvm inputstream jcifs

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

与实现相关,我通过JCIFS库访问该文件,然后使用inputStream来读取和处理它。我猜VM与此应用程序代码无关,所以我指出操作系统,在本例中是windows。

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

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

我知道这些不是具体问题,所以很难回答它们。但是,非常感谢任何帮助,评论或建议。

提前致谢!!

2 个答案:

答案 0 :(得分:1)

  

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

它仍然是一个InputStream。

  

在这种情况下,VM有话要说有没有呢?

如果您愿意,可以,但通常不会。

  

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

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

  

和输出流?

同样的。但是如果您写入具有多个进程的文件,结果可能会很糟糕,但您更有可能只从一个程序获得输出。 (但如果没有重新阅读,你就不知道哪个)

答案 1 :(得分:0)

当您的应用程序正在使用该文件时,该文件是否会被写入?如果不是那么我无法想象这是一个问题。考虑同时打开相同文件的多个编辑器 - 在有人进行更改并写入之前不会造成任何伤害。