我的要求如下。
我有一个用java开发的web应用程序。
我在html页面上有个链接。当第一个客户端单击html页面中的submit按钮时,批处理文件应该会运行。
同时,当另一个客户端单击submit按钮时,他应该会得到页面正忙的消息。
如果第一个客户端单击release按钮,则其他客户端必须能够运行批处理文件。
我该怎么做呢?
发布于 2009-02-25 08:16:31
单击submit按钮时设置一个标志,单击release按钮时清除该标志。
根据您的体系结构,标志可以是代码中的布尔变量、数据库中某处的特殊条目或临时文件中的任何内容。
单击submit按钮时,检查该标志是否已设置。如果是,则返回一条错误消息,指出该页正忙。
在伪代码中:
if (flagIsSet()) {
  showPageIsBusy();
} else {
  setFlag();
  startBatchFile();
}请记住,当批处理文件完成或单击release按钮并位于finally块中的某个位置时,要清除该标志。
您还必须确保只有启动批处理文件的客户端才能释放它并清除该标志。
正如Avi在评论中指出的那样,您还应该记住同步对标志的访问。
https://stackoverflow.com/questions/585108
复制相似问题