Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web启动应用程序:并发问题_Java_Concurrency - Fatal编程技术网

Java Web启动应用程序:并发问题

Java Web启动应用程序:并发问题,java,concurrency,Java,Concurrency,可能重复: 我用Java开发了一个GUI工具,它在MS Excel上执行一些操作(如插入行、检索行、更新行…)。我在这个工具中既没有使用线程编程,也没有使用任何锁定机制 这个工具被部署为windows exe,现在我已经部署为Web Start应用程序。 许多人在同一时间访问此工具,并同时对excel文件(所有人共享的资源)执行操作 最近,这个工具更新了excel文件,因为两个人同时在excel文件上写东西(我从日志中的时间戳中知道) 一个人正在更新某些记录,另一个人正在插入新记录。这两个操作

可能重复:

我用Java开发了一个GUI工具,它在MS Excel上执行一些操作(如插入行、检索行、更新行…)。我在这个工具中既没有使用线程编程,也没有使用任何锁定机制

这个工具被部署为windows exe,现在我已经部署为Web Start应用程序。 许多人在同一时间访问此工具,并同时对excel文件(所有人共享的资源)执行操作

最近,这个工具更新了excel文件,因为两个人同时在excel文件上写东西(我从日志中的时间戳中知道)

一个人正在更新某些记录,另一个人正在插入新记录。这两个操作几乎同时发生在同一个excel文件上。现在,我认为共享excel文件已损坏,存在bcoz并发问题

你能帮我在这种情况下该怎么办吗?我如何解决这个问题?有没有简单的方法来解决这个问题

非常感谢,,
Rahul

您可能想了解文件锁。下面是一个快速入门的示例


如果你真的想解决这个问题,扔掉共享的excel文件-你需要一个数据库!感谢您的建议,但是在我的场景中使用excel文件是一项义务:(@user981116:quit the job-asap:-)这永远不会扩展,这只是一场建筑噩梦@user981116然后使用具有适当安全性的google电子表格,或者使用许多开源的支持web的电子表格库(ZK有一个),您可以使用文件锁,但不是正确的解决方案。@Pangea我同意。使用一个数据库来解决这个问题会更具可伸缩性,但他想要一个简单的方法来解决这个问题。也许他只是有两个用户在写excel文件。这就是我投票的原因…但我想留下评论,以确保OP不会忽略其他解决方案谢谢你的回复和指点!正如我之前在场景数据库中提到的,bcoz应用程序不适合业务人员,他们喜欢在excel中查看内容。如果文件锁是剩下的唯一解决方案,那么我们将对此进行深入研究。如果需要更多信息,我会回来的。如果你有其他想法,请随时告诉我。非常感谢