实现mysql锁定
我想使用mysql行级锁。我锁不上整张桌子。我希望避免两个进程同时为服务器处理两条不同的消息。 我想我可以有一张桌子叫:实现mysql锁定,mysql,Mysql,我想使用mysql行级锁。我锁不上整张桌子。我希望避免两个进程同时为服务器处理两条不同的消息。 我想我可以有一张桌子叫: server\u lock如果一个进程开始在服务器上工作,它将在表中插入一行 这种方法的问题在于,如果应用程序崩溃。我们需要手动取下锁。 如果应用程序崩溃,有没有办法释放行级锁和锁 编辑 我用C++作为语言。 我的应用程序类似于消息队列。但区别在于有两个队列,每个队列由一个进程填充。操作后,如果操作属于同一对象,并且两者都在处理同一对象,则可能会导致错误的数据。因此,我需要一
server\u lock
如果一个进程开始在服务器上工作,它将在表中插入一行
这种方法的问题在于,如果应用程序崩溃。我们需要手动取下锁。
如果应用程序崩溃,有没有办法释放行级锁和锁
编辑
我用C++作为语言。
我的应用程序类似于消息队列。但区别在于有两个队列,每个队列由一个进程填充。操作后,如果操作属于同一对象,并且两者都在处理同一对象,则可能会导致错误的数据。因此,我需要一个锁定机制来处理这两个队列,这样两个处理器就不会同时修改同一个对象 我可以想出两种方法:
- 在移除锁的程序上实现一些错误处理程序。在对程序一无所知的情况下,很难说如何做到这一点,但大多数语言在崩溃时退出之前都有一些方法来做一些工作。这是很危险的,因为当事情不对时,就会发生碰撞。如果您继续做任何工作,可能会损坏数据库或类似的东西
- 定期更新锁。在程序中添加一个线程,定期重新获取锁,或者在正在执行的某个循环中重新获取锁。然后,当一个锁在一段时间内没有更新时,您就知道它属于一个崩溃的程序