浏览 1981 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-01-12
现优先级字段是插入时候默认为系统当前时间毫秒数: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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |