编程语言
首页 > 编程语言> > java:竞争条件 – 有没有办法确保几行代码一起执行?

java:竞争条件 – 有没有办法确保几行代码一起执行?

作者:互联网

我有一个注册页面,它接收令牌广告解析它们并在参数适用时登录用户.

在我检查令牌的时间到我从数据库中删除令牌的时间之间,另一个用户可以使用相同的令牌登录.有没有办法确保在没有干扰的情况下执行特定范围的代码行,所以我不会遇到竞争条件问题?

谢谢

更新

我有两台服务器.

> apache tomcat 6
> red5 v0.9(免费的基于java的Flash媒体流和通信服务器)

我正在为Facebook写一个游戏应用程序.

游戏本身是用adobe flash builder 2编写的.

游戏本身将使用red5服务器提供.问题是red5没有收到请求和响应头,因此无法检索用于从Facebook获取信息的会话信息.

解决用户连接到tomcat服务器的问题,该页面检查会话中的facebook相关信息,并使用tinyFBClient连接到facebook,并将信息存储在mysql db(用户详细信息)中,以确保这一点同一用户是要连接到red5的用户.

一旦创建了令牌. tomcat页面显示一个对象HTML元素,以显示相关的SWF文件(游戏文件). tomcat页面将令牌传递给该SWF文件.加载SWF文件后,它会获取该令牌并使用它连接到red5并查找用户信息.

我希望这些描述可以帮助您了解我的需求.
感谢您的支持!

解决方法:

您可以使用Lock对象.

使用Lock对象优于更原始的synchronized blocks和方法.

标签:java,race-condition
来源: https://codeday.me/bug/20190722/1498468.html