社区
Java SE
帖子详情
多进程锁问题
yema55
2004-12-31 09:34:26
多个客户端共享一个数据库,多个客户端同时只能有一个进行一个高级操作(与数据库无关的操作)
因此,我想把一个布尔变量存入数据库,有人要进行高级操作就先读取这个变量
然后设值,再进行操作。但是因为有可能两个客户端同时读取到这个变量为假,在同时设值,
问题依然得不到解决。请大虾帮忙。
...全文
321
7
打赏
收藏
多进程锁问题
多个客户端共享一个数据库,多个客户端同时只能有一个进行一个高级操作(与数据库无关的操作) 因此,我想把一个布尔变量存入数据库,有人要进行高级操作就先读取这个变量 然后设值,再进行操作。但是因为有可能两个客户端同时读取到这个变量为假,在同时设值, 问题依然得不到解决。请大虾帮忙。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yema55
2004-12-31
打赏
举报
回复
server需要clustering, 所以还是不能使用server的线程同步
ChDw
2004-12-31
打赏
举报
回复
你可以这样:
在数据库中有一个表A,里面只有一个字段C1
在需要锁定之前,在客户端
conn.setAutoCommit(false);
PreparedStatement prep = conn.prepareStatement("update A set C1=C1");
prep.executeUpdate();
prep.close();
//开始做你的事情;
//做完以后
conn.commit();
conn.setAutoCommit(true);
这样就可以依赖于数据库的锁来完成了,因为第一个用户一旦执行了executeUpdate,数据库已经锁定该表,后面的用户是不能再Update这个表的,他们会处于等待状态
shd4191
2004-12-31
打赏
举报
回复
一种方法是用DBMS的并发控制,一种是再加一个Server程序进行同步控制。
yema55
2004-12-31
打赏
举报
回复
synchronized好像是单客户端内部的多线程同步,
多个客户端之间应该没有用
wjsfr
2004-12-31
打赏
举报
回复
把读取和写入操作放到synchronized中试试
晨星
2004-12-31
打赏
举报
回复
你的程序是什么结构啊,用多线程不行吗?为什么一定要使用多进程?
晨星
2004-12-31
打赏
举报
回复
使用同步的(synchronized)代码段行不行?
python
多进程
系列(四)进程
锁
2、通过进程
锁
,
锁
定num的值,让进程有序的进行数据修改。1、避免多个进程同时操作同一个值,导致数据混乱。3、主进程的
锁
通过参数传入给子进程使用。
python线程
锁
和进程
锁
在python的多线程和
多进程
中,当我们需要对多线程或
多进程
的共享资源或对象进行修改操作时,往往会出现因cpu随机调度而导致结果和我们预期不一致的
问题
,这时就需要对线程或者进程加
锁
,以保证一个线程或进程在对共享对象进行修改时,其他的线程或进程无法访问这个对象,直至获取
锁
的线程的操作执行完毕后释放
锁
。所以,
锁
在多线程和
多进程
中起到一个同步的作用,以保护每个线程和进程必要操作的完整执行。 python中,多线程和
多进程
的异同点主要在两大处: 由于GIL机制,多线程只能实现并发,但
多进程
可以实现并行; 同一个进
多进程
中的进程
锁
(互斥
锁
)
多进程
中遇到的
问题
以下实例中: import threading lock = threading.Lock() num = 0 def work1(asd): global num for i in range(asd): num += 1 print('在当前的线程修改过后的num是',num) def work2(asd): global num for i in range(asd): num += 1 print(
gunicorn + Flask架构中使用
多进程
全局
锁
有之前的认识WSGI和WSGI的前世今世之后,现在就可以介绍如何在gunicorn + Flask架构模式下,在Flask处理线程中使用全局
锁
。 说到
锁
在Python中也有很多
锁
,最常见用的就是
多进程
锁
(multiprocessing.Lock)和多线程
锁
(threading.Lock)。正常情况下,我们是可以直接使用这些
锁
的。
多进程
锁
可以在多个子进程中实现
锁
定临界资源的功能,而多线程
锁
则...
C#
多进程
文件读写的
锁
处理
本文主要是实现操作系统级别的
多进程
间线程同步(进程同步)的示例代码及测试结果。代码经过测试,可供参考,也可直接使用。 承接上一篇博客的业务场景[C#使用读写
锁
三行代码简单解决多线程并发写入文件时线程同步的
问题
]。 随着服务进程的增多,光凭进程内的线程同步已经不能满足现在的需求,导致
多进程
同时写入同一个文件时,一样提示文件被占用的
问题
。 在这种场景下,跨进程级的
锁
是不可避免的。在.
Java SE
62,615
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章