gpt4 book ai didi

java - 当有多个用户同时访问页面时,是否需要在我的controller方法中添加synchronization关键字?

转载 作者:行者123 更新时间:2023-11-30 10:30:37 24 4
gpt4 key购买 nike

我知道默认方式是单例,现在我有一个需求,在我的 Controller 方法中,我想更新我的数据,然后锁定数据。在用户更新数据之前,我会判断他是否可以更新根据其他表字段状态。 例如:如果用户A访问数据,他可能会将数据值更新为1,我通过更新状态字段锁定数据,这意味着其他人无法更新。然后执行其他操作,如删除一些用户A文件。但同时,可能是用户B访问数据,他可能会将数据值更新为2。我是否也可能删除用户B文件?
我需要在我的 Controller 方法中添加同步关键字吗?或者 tomcat 服务器或 spring mvc 有帮助我处理这个问题?现在我想要的是只有一个用户可以更新数据并且只能删除一个使用文件。

最佳答案

MVC Controller 方法通常不应该同步,因为 Controller 通常不应该是多线程的。另外,“我知道默认方式是单例”——默认方式是什么? Controller 通常不需要是单例的。 Controller 不应该处理业务逻辑;这是模型的工作(“MVC”中的“M”)。处理您描述的所有表逻辑的资源管理器或组件可能也不应该是多线程的。单线程资源管理器远没有那么困惑。而且它也不必是单例。只需实例化其中之一即可。 (资源管理器可能需要多个实例,例如,管理多个资源。)

您应该向我们展示您的代码。

关于java - 当有多个用户同时访问页面时,是否需要在我的controller方法中添加synchronization关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43624621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com