求一解题思路。

时间:2022-04-18 09:30:00
假设用户提交了N多数据到数据库。

有一服务,取出M多数据,假如M多数据中有1至N种的类型,不同的类型要放入不同的队列中去。


如果类型定下来还好,假如有三个数据,我可以在服务里定义三个不同的队列,关键是每次取的数据包含的类型可能不一样,有可能只有一种 ,二种,N种都有可能,我不可能先预定义N个队列吧?


如何解决这样的问题???

11 个解决方案

#1


先取出这些数据的类型,
再取数据,
然后根据类型ID和取出数据所属类型ID循环判断

#2


顶一下

#3


动态创建队列,发现一个新数据类型就创建一个队列。

#4


遍历的时候判断吧,似乎不难

#5


同意3楼的解法

#6


动态添加队列,遍历数据获取类型添加到相应对列

#7


引用 3 楼 songhtao 的回复:
动态创建队列,发现一个新数据类型就创建一个队列。


动态创建队列的名称是否会一样?

另外,这样是不是取一次数据就会根据不同的类型创建一次。

假如第一次创建了三个队列,某一队列数据处理完了,我又想去执行数据读取操作,假如有四个类型的数据。但我想使用前三个创建好的队列,只新建一个前面没有的队列,这样的方法能实现不?
还是说我只能再次创建四个队列???

有没有高手能够帮忙解决一下??

#8


动态创建队列及加数据已经解决,目前有个困惑就是如何用不用的线程执行不同的队列,并且执行的方法是同一个,且某一队列执行完成后,得马上去取值,如果有数据,则继续添加进队列,如果没有数据,则等待几秒再去获取,如此循环。

如:某一方法A第一次获取了N条数据,根据数据类型不同创建并且加入了队列B,C,D,然后B,C,D用不同的线程执行某一公用方法R,假如B先执行完,则B又去获取数据M条,然后加入创建好的队列B,C,D中,如果出现了不同的数据类型,则再创建一队列F,如引循环去执行。
有没有兄弟做过类似的程序,给点代码参考一下,谢谢

#9


顶一下

#10


根据类型创建线程就行了啊

#11


顶一下,我自己也在想,快有点眉目了,如果高手们有更好或已经有方案的,给点思路啊

#1


先取出这些数据的类型,
再取数据,
然后根据类型ID和取出数据所属类型ID循环判断

#2


顶一下

#3


动态创建队列,发现一个新数据类型就创建一个队列。

#4


遍历的时候判断吧,似乎不难

#5


同意3楼的解法

#6


动态添加队列,遍历数据获取类型添加到相应对列

#7


引用 3 楼 songhtao 的回复:
动态创建队列,发现一个新数据类型就创建一个队列。


动态创建队列的名称是否会一样?

另外,这样是不是取一次数据就会根据不同的类型创建一次。

假如第一次创建了三个队列,某一队列数据处理完了,我又想去执行数据读取操作,假如有四个类型的数据。但我想使用前三个创建好的队列,只新建一个前面没有的队列,这样的方法能实现不?
还是说我只能再次创建四个队列???

有没有高手能够帮忙解决一下??

#8


动态创建队列及加数据已经解决,目前有个困惑就是如何用不用的线程执行不同的队列,并且执行的方法是同一个,且某一队列执行完成后,得马上去取值,如果有数据,则继续添加进队列,如果没有数据,则等待几秒再去获取,如此循环。

如:某一方法A第一次获取了N条数据,根据数据类型不同创建并且加入了队列B,C,D,然后B,C,D用不同的线程执行某一公用方法R,假如B先执行完,则B又去获取数据M条,然后加入创建好的队列B,C,D中,如果出现了不同的数据类型,则再创建一队列F,如引循环去执行。
有没有兄弟做过类似的程序,给点代码参考一下,谢谢

#9


顶一下

#10


根据类型创建线程就行了啊

#11


顶一下,我自己也在想,快有点眉目了,如果高手们有更好或已经有方案的,给点思路啊