MySQL数据库一表中存储了任务列表,有一个执行任务的线程从表中按优先级顺序取出并执行,执行完成后从表中移除记录。任务列表是第三方插入的,现在有这么个需求:调整优先级。
现优先级字段是插入时候默认为系统当前时间毫秒数:System.currentTimeMillis()(用String存储,字段array),对于调整优先级现仅能想到以下:
1.调整任务B到A任务前即将A的array数值减1,当又将任务C调整到A前也将A的array值数值减1,此时发现减1后的值已经存在,则在数值减1后的array字段后字符加1,当任务D又要调整到A前,如此如此……如果对于优先级调整频繁的话,array字段长度终究是要溢出的(现设定array最大长度为99)。
2.update数据库相应array字段值,如果将任务X挑中到M前,则将M到W的任务的array值都相应的赋予下个任务的值(M.array=N.array,N.array=O.array…),如果数据库中任务列表量大而优先级调整又频繁的话就会导致数据库操作过于频繁。
3.使用单向链表,在数据库中添加一字段,用于存储当前任务的前一个任务。这样对于调整优先级倒是方便了,改两行的值即可,但是对于从表中取值就要查询很多次了(查询第一个之后,根据“指针”查询到第二个……)。
求一解决方案,谢谢了!
http://www.iteye.com/problems/78079
分享到:
相关推荐
在任务执行期合理、科学地确定维修任务的优先级别...所建立的神经网络模型通过对输入与输出的训练,可以学习准则与维修任务优先级之间的复杂关系,获得并表示决策者的偏好,有效地辅助决策者对维修任务优先级进行分类。
线程的基本概念、线程类、任务类、线程优先级、sleep()方法(休眠)、yield()方法(礼让)、join方法(合并)、interrupt()方法(中断),线程的生命周期 线程 与 进程 的关系:**有一个进程中至少包含一个线程 **...
OptimusAsyncTask 将每个任务抽象成 OptimusTask,OptimusTask 可以设置任务执行时间,任务优先级,获取任务状态等。 同时 OptimusAsyncTask 提供了 OptimusTask 的默认实现类 BaseOptimusTask,它实现了 Comparable...
VC++ 线程优先级 示例程序 VC++线程优先级示例程序-赛马,不同优先级执行的程序显示在进度条中,有长有短,像赛马一样,体现出每个线程被执行的优先顺序。
多任务多线程管理模块,任务有优先级,一个任务执行完毕,按照优先级高低执行另一个任务 1)如何使用: 1. 声明一个HashTaskList,或在栈上动态获取; 2. 调用InitTaskList初始化上一步的HashTaskList 3. 调用...
基于重复角色和任务优先级的访问控制模型,姜增虎,陈茂华,针对一个角色可以对应多个不同的任务,以及任务重要性的不同,在任务规则的基础上,提出了基于重复角色和任务优先级的访问控制模
* <p>Title: 提高线程优先级 * <p>Description: 通过修改线程的优先级,是线程获得优先处理。 * <p>Copyright: Copyright (c) 2003 * <p>Filename: upPRIThread.java * @author * @version 1.0
实时系统;动态调度;调度策略;任务优先级;调度成功率
设置线程的优先级,设置参数 afebegeinthreand 设置参数 简单dedemo vc2008
线程池提交优先级,执行优先级
中继卫星系统在天基信息网中起着桥梁的作用。...根据算法在仿真算例中的应用可见,相比对照算法,基于双层优先级的调度算法更有利于满足高价值、高紧迫性任务的执行条件,从而提高了任务成功率和调度综合收益。
实时任务调度中基于任务的价值、剩余执行时间、空闲时间以及到述时同等多特征参数设计任务的优先级,并使任务的优先级随着任务紧迫性和完成程度变化而动态调整,并基于新的优先级设计策略提出一种实时动态抢占式调度...
在codeblocks 中模拟 UCOSIII中的优先级及其每个优先级下一一对应的任务控制块链表实现。
该程序演示了多线程的优先级问题,通过运行状态比较了线程的优先级不同时每个线程的进展情况。
Nachos实现id、限制线程数和按优先级调度算法(增改源码) Nachos实现id、限制线程数和按优先级调度算法
VC 线程优先级 赛马演示 VC 线程优先级 赛马演示 VC 线程优先级 赛马演示
事实上,一个处理器核心在某一时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行非常快速地切换(调度器根据优先级决定此刻该执行的任务),所以给人造成多个任务在一个...
VC 用进度条表示多线程优先级执行问题,程序将演示各个线程执行的优先级,当然这是在程序中设置好的,程序将按照设定运行各个线程,当然,优先级不一样,将按以下顺序启动线程:关键时间最先执行,最高其次,然后...
JAVA多线程,并设置优先级案例,一段完整的程序,加上自己的东西就可以跑起来