不知道如何解决使用mysql做锁定负载的问题。

haha_0_2000_2001 2008-10-01 03:53:46
情况如下:
1.数据库中有一个表叫 task 表。里面每项都是一个任务。
2.有10个工作线程,要从task 表中锁定一个任务(有锁定时间)。
3.假设 W(a) 锁定了一个任务 T(a)。这个时候其他工作线程是不能锁定这个任务的。
4.W(a)处理完任务,要将任务T(a)标记为已经处理。
5.如果W(a)长时间不返回,(锁定时间 --》》 当前时间)大于系统允许的范围,则其它工作者可以锁定这个任务进行处理。

请问,数据库访问部分使用存储过程吗?如何写呢。

假设存储过程名称 gettask();
参数为每个工作者的唯一标识符wid。
传出为锁定的任务或者空。如何写呢。

本人新手,请指教。
...全文
73 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hqaht 2008-12-18
  • 打赏
  • 举报
回复
可以在task表里增加一个状态字段,判断此任务是否处于锁定状态 如果处于锁定状态的话 然后判断其锁定时间和当前时间相比较 如果当前时间大于锁定时间,时间差相差为你认为的线程运行的最大时间,那么进行下一个线程
懒得去死 2008-10-02
  • 打赏
  • 举报
回复
用IF ELSE控制语句就可以了,自己先写。遇到问题再说。
haha_0_2000_2001 2008-10-01
  • 打赏
  • 举报
回复
每人在吗?

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧