要写段windows服务的多线程程序, 在两台完全一样的服务器上运行, 要访问同一个数据库, 如何保证执行的唯一性
多台机器上的 WINDOWS服务中的线程要循环来侦察同一个数据库中是否有新的任务记录, 有就启用一条任务记录的执行过程.
这条数据库中的任务记录有可能被同时执行
,这条执行任务记录有个标志位 ---------是否正在执行,
还有开始时间等.
当一个线程读取标志的时候还要作些判断, 还未锁定这条记录(内部判断时间有点久), 但是另一个线程可能也在读它了,这样保证任务唯一执行就比较困难, 可能被执行两次.
要防止这样的情况.
请教有什么好的解决方案?