社区
Web 开发
帖子详情
jsp实现线程安全访问
bryan_lin
2009-03-18 02:50:53
譬如要对一篇文章(id=10)进行编辑,即edit.jsp?id=10
这时管理员a访问edit.jsp?id=10取得编辑权限之后
如果管理员b同样访问edit.jsp?id=10则应该提示正在被编辑
问题是这个应该怎么实现?
我的想法是在数据库中对10的文章进行标记,即标记为正在被a编辑
但是异常状况的时候(譬如浏览器不正常退出)的时候 怎么取消该标记 使得其他人能够正常编辑?
谢谢~
...全文
90
8
打赏
收藏
jsp实现线程安全访问
譬如要对一篇文章(id=10)进行编辑,即edit.jsp?id=10 这时管理员a访问edit.jsp?id=10取得编辑权限之后 如果管理员b同样访问edit.jsp?id=10则应该提示正在被编辑 问题是这个应该怎么实现? 我的想法是在数据库中对10的文章进行标记,即标记为正在被a编辑 但是异常状况的时候(譬如浏览器不正常退出)的时候 怎么取消该标记 使得其他人能够正常编辑? 谢谢~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bryan_lin
2009-03-18
打赏
举报
回复
[Quote=引用 4 楼 zou_wei_forever 的回复:]
可以用乐观锁实现,在数据被保存到数据库是进行检查:
在表中增加一个表示版本的字段,第一个人读出出来那笔记录更新后版本号为1,第二个人读出出来那笔记录版本号为2,当第二个人再保存后发现他的数据的版本跟数据库中那笔记录的版本不符,就不允许修改。
[/Quote]
这样的话 第二个人读出来做出修改之后却不能保存 用户体验太差
想要的效果是 第二个人都不能往外读~
jishu_vip
2009-03-18
打赏
举报
回复
楼主的方法也是可以的,只是文章正在编辑的时候,对文章增加一个标识位,表示正在编辑。
解决异常状况(如浏览器不正常退出):
同时数据库中记录正在编辑的用户名,间隔一段时间判断一下该用户名是否还为登录状态(或则其它用户编辑的时候也同时进行判断之前记录的用户名是否还为登录状态)如果不是登录状态则取消该文章为正在编辑。
sjkof
2009-03-18
打赏
举报
回复
[Quote=引用 4 楼 zou_wei_forever 的回复:]
可以用乐观锁实现,在数据被保存到数据库是进行检查:
在表中增加一个表示版本的字段,第一个人读出出来那笔记录更新后版本号为1,第二个人读出出来那笔记录版本号为2,当第二个人再保存后发现他的数据的版本跟数据库中那笔记录的版本不符,就不允许修改。
[/Quote]
同意
zou_wei_forever
2009-03-18
打赏
举报
回复
可以用乐观锁实现,在数据被保存到数据库是进行检查:
在表中增加一个表示版本的字段,第一个人读出出来那笔记录更新后版本号为1,第二个人读出出来那笔记录版本号为2,当第二个人再保存后发现他的数据的版本跟数据库中那笔记录的版本不符,就不允许修改。
downloadvip
2009-03-18
打赏
举报
回复
顶了
老黄瓜_
2009-03-18
打赏
举报
回复
楼主可以用 数据集合(list) 存储 文章 id 以及对应的修改时间 当第二个人要去 访问的时候 就遍历 这个数据集合(list) 另外起线程扫描 当前时间 如果时间过长 就从集合中删除掉 该文章
个人想法 没有考虑过 修改文章数据量大的效率,性能 情况
therehere
2009-03-18
打赏
举报
回复
帮顶!!!!!!!!!!!!!!!!!!!!!!
JSP
基础实战精讲(大神必经之路)
JSP
全称Java Server Pages,是一种动态网页开发技术。它使用
JSP
标签在HTML网页中插入Java代码。标签通常以结束。
JSP
是一种Java servlet,主要用于
实现
Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入
JSP
操作和命令来编写
JSP
。
JSP
通过网页表单获取用户输入数据、
访问
数据库及其他数据源,然后动态地创建网页。
JSP
标签有多种功能,比如
访问
数据库、记录用户选择信息、
访问
JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
线
程安全
总结
文章目录
线
程安全
线
程安全
互斥的
实现
线
程安全
同步的
实现
通过条件变量
实现
通过信号量
实现
线
程安全
在了解
线
程安全
之前我们需要先了解两个名词 临界资源:多
线
程执行流共享的资源 临界区:
线
程内部
访问
临界资源的代码
线
程安全
是什么:多个执行流同时对临界资源争抢
访问
的操作不会造成数据二义性
线
程安全
的
实现
: 同步:通过条件判断保证对临界资源
访问
的合理性 互斥:通过同一时间对临界资源
访问
的唯一性
实现
对临界资源
访问
的安全性
线
程安全
互斥的
实现
互斥:同一时间只有一个执行流
访问
资源,保证临界资源的安全性 互斥的
实现
:互
java web --
jsp
和 servlet
线
程安全
最近看了一些JAVA WEB开发部分,发现
JSP
和Servlet需要注意
线
程安全
,以前玩过PHP,知道犹豫PHP的运行方式,所以PHP每个页面每次
访问
都是独立的,所以不用考虑
线
程安全
问题。突然间要在WEB开发中需要注意
线
程安全
所以有些摸不着头脑,于是也从
JSP
和Servlet运行方式入手,从而彻底把握JAVA WEB开发
线
程安全
问题!容器对于Servlet 只创建一个实例,对于每次请求都使用单
线
程安全
7.
线
程安全
7.
线
程安全
概念
线
程安全
:多个执行流对临界资源进行争抢
访问
,而不会造成数据二义或者逻辑混乱称这段争抢
访问
的过程是
线
程安全
。 7.2
实现
线
程安全
的
实现
:如何保证多个执行流对临界资源进行争抢
访问
而不会造成数据二义 同步:通过条件判断,
实现
对临界资源
访问
的时序合理性 互斥:通过唯一
访问
,
实现
对临界资源
访问
的安全性
实现
互斥原理:只要保证同一时间只有一个执行流能够
访问
资源 临界资源进行...
java
线
程安全
总结
一、servlet/
JSP
线
程安全
Servlet/
JSP
技术和ASP、PHP等相比,由于其多
线
程运行而具有很高的执行效率。由于Servlet/
JSP
默认是以多
线
程模式执行的,所以,在编写代码时需要非常细致地考虑多
线
程的安全性问题。然而,很多人编写Servlet/
JSP
程序时并没有注意到多
线
程安全
性的问题,这往往造成编写的程序在少量用户
访问
时没有任何问题,而在并发用户上升到一...
Web 开发
81,076
社区成员
341,821
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章