Java 如何在服务器上锁定变量一段时间

Java 如何在服务器上锁定变量一段时间,java,php,logic,mutex,Java,Php,Logic,Mutex,我有一个特定的变量,我从服务器获取它,并将其返回到服务器。但在我对该变量的处理完成之前,任何人都不应该访问它,也就是说,我想在服务器上锁定该变量。我在用Php编程。 希望有人能给出一个方法。PHP是一个无共享的环境,因此除了当前用户之外,没有人会访问变量(即使是静态或全局变量)。您最好的选择是在数据表中增加一列,当用户想要预订座位时,您可以在其中插入时间戳。考虑到用户也可以简单地走开,永远不完成预订,所以你不能简单地将它无限期地锁定。因此,在行中输入当前时间以将其标记为保留。当检查座位是否空闲时

我有一个特定的变量,我从服务器获取它,并将其返回到服务器。但在我对该变量的处理完成之前,任何人都不应该访问它,也就是说,我想在服务器上锁定该变量。我在用Php编程。
希望有人能给出一个方法。

PHP是一个无共享的环境,因此除了当前用户之外,没有人会访问变量(即使是静态或全局变量)。

您最好的选择是在数据表中增加一列,当用户想要预订座位时,您可以在其中插入时间戳。考虑到用户也可以简单地走开,永远不完成预订,所以你不能简单地将它无限期地锁定。因此,在行中输入当前时间以将其标记为保留。当检查座位是否空闲时,考虑所有超过X的标志(决定X应该是什么),因为用户显然没有遵守。p> 我认为要实现这一点,你必须在你就座的桌子上做点什么。
例如,在表中设置一些指示您已处理或正在处理行的内容—布尔值、时间戳、删除行、标志等

您可以使用mysql数据库的行锁定概念


请显示一些您正在做的代码。我仍处于初级阶段。我以XML文件(公共汽车座位信息)的形式获取数据,将其存储在数据库中,在我的页面上显示座位布局&当用户单击座位并继续付款时,我必须在服务器上阻止该座位并在收到付款后释放它。我该怎么做?你使用的是哪个数据库?我还处于初级阶段。我以XML文件(公共汽车座位信息)的形式获取数据,将其存储在数据库中,在我的页面上显示座位布局&当用户单击座位并继续付款时,我必须在服务器上阻止该座位并在收到付款后释放它。我该怎么做呢?您应该在数据库交互层应用悲观并发。每次查看总线时,我都会从不同的API获取座位数据。例如,我想把它屏蔽5分钟,但我无法得到的是——我怎么能屏蔽他们所有服务器上的座位数据(XML格式)?所以实际的预订是通过“他们”服务器上的API进行的,其他人也在使用这些API?然后,除非他们的API提供某种锁定机制,否则我不认为这是可能的。是的,这正是困扰我的地方现在我们将自己在SOAP中创建一个API并提供给其他总线运营商——在本例中,我可以在特定的座位行上放置行锁定。这就够了吗?当细节如此之少时,很难回答“够了吗”。您可以通过这种方式锁定自己的数据库,是的。如果您依赖于另一个不允许锁定的服务,那么您所能做的就是尝试并失败(尝试通过API保留座位,如果在此期间已经占用了座位,则失败)。