java - 并发访问共享资源

标签 java concurrency jvm inputstream jcifs

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

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

我不知道必须在何处如何处理此问题,甚至不知道是否必须这样做。

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

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

提前致谢!!

最佳答案

In other hand, we are talking about a remote file, but what happens if the file is located in our filesystem?

它仍然是一个输入流。

In this case, VM has something to say hasn't it?

如果你愿意的话可以,但通常不会。

How many different input streams can be opened over a file?

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

and output streams?

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

关于java - 并发访问共享资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7559238/

相关文章:

java - 如何在 Spring jdbcTemplate 中将 Array/List 设置为参数?

java - 在 Java 中检查 ResultSet 是否为空

java - 将 SQL 语句写入文件

java - java Lock上总是使用tryLock可以防止死锁吗?

java - 如何将新的货币代码添加到 Java?

java - 如何在不改变android中的值的情况下按字母顺序对 HashMap 键进行排序?

java - 使用 Java 锁实现数据库并发

sql-server - 如何解决Index/Key相关的死锁

java - 如果我运行我的代码,我将获得多少内存?

java - JVM 自动重启