有一服务,取出M多数据,假如M多数据中有1至N种的类型,不同的类型要放入不同的队列中去。
如果类型定下来还好,假如有三个数据,我可以在服务里定义三个不同的队列,关键是每次取的数据包含的类型可能不一样,有可能只有一种 ,二种,N种都有可能,我不可能先预定义N个队列吧?
如何解决这样的问题???
11 个解决方案
#1
先取出这些数据的类型,
再取数据,
然后根据类型ID和取出数据所属类型ID循环判断
再取数据,
然后根据类型ID和取出数据所属类型ID循环判断
#2
顶一下
#3
动态创建队列,发现一个新数据类型就创建一个队列。
#4
遍历的时候判断吧,似乎不难
#5
同意3楼的解法
#6
动态添加队列,遍历数据获取类型添加到相应对列
#7
动态创建队列的名称是否会一样?
另外,这样是不是取一次数据就会根据不同的类型创建一次。
假如第一次创建了三个队列,某一队列数据处理完了,我又想去执行数据读取操作,假如有四个类型的数据。但我想使用前三个创建好的队列,只新建一个前面没有的队列,这样的方法能实现不?
还是说我只能再次创建四个队列???
有没有高手能够帮忙解决一下??
#8
动态创建队列及加数据已经解决,目前有个困惑就是如何用不用的线程执行不同的队列,并且执行的方法是同一个,且某一队列执行完成后,得马上去取值,如果有数据,则继续添加进队列,如果没有数据,则等待几秒再去获取,如此循环。
如:某一方法A第一次获取了N条数据,根据数据类型不同创建并且加入了队列B,C,D,然后B,C,D用不同的线程执行某一公用方法R,假如B先执行完,则B又去获取数据M条,然后加入创建好的队列B,C,D中,如果出现了不同的数据类型,则再创建一队列F,如引循环去执行。
有没有兄弟做过类似的程序,给点代码参考一下,谢谢
如:某一方法A第一次获取了N条数据,根据数据类型不同创建并且加入了队列B,C,D,然后B,C,D用不同的线程执行某一公用方法R,假如B先执行完,则B又去获取数据M条,然后加入创建好的队列B,C,D中,如果出现了不同的数据类型,则再创建一队列F,如引循环去执行。
有没有兄弟做过类似的程序,给点代码参考一下,谢谢
#9
顶一下
#10
根据类型创建线程就行了啊
#11
顶一下,我自己也在想,快有点眉目了,如果高手们有更好或已经有方案的,给点思路啊
#1
先取出这些数据的类型,
再取数据,
然后根据类型ID和取出数据所属类型ID循环判断
再取数据,
然后根据类型ID和取出数据所属类型ID循环判断
#2
顶一下
#3
动态创建队列,发现一个新数据类型就创建一个队列。
#4
遍历的时候判断吧,似乎不难
#5
同意3楼的解法
#6
动态添加队列,遍历数据获取类型添加到相应对列
#7
动态创建队列的名称是否会一样?
另外,这样是不是取一次数据就会根据不同的类型创建一次。
假如第一次创建了三个队列,某一队列数据处理完了,我又想去执行数据读取操作,假如有四个类型的数据。但我想使用前三个创建好的队列,只新建一个前面没有的队列,这样的方法能实现不?
还是说我只能再次创建四个队列???
有没有高手能够帮忙解决一下??
#8
动态创建队列及加数据已经解决,目前有个困惑就是如何用不用的线程执行不同的队列,并且执行的方法是同一个,且某一队列执行完成后,得马上去取值,如果有数据,则继续添加进队列,如果没有数据,则等待几秒再去获取,如此循环。
如:某一方法A第一次获取了N条数据,根据数据类型不同创建并且加入了队列B,C,D,然后B,C,D用不同的线程执行某一公用方法R,假如B先执行完,则B又去获取数据M条,然后加入创建好的队列B,C,D中,如果出现了不同的数据类型,则再创建一队列F,如引循环去执行。
有没有兄弟做过类似的程序,给点代码参考一下,谢谢
如:某一方法A第一次获取了N条数据,根据数据类型不同创建并且加入了队列B,C,D,然后B,C,D用不同的线程执行某一公用方法R,假如B先执行完,则B又去获取数据M条,然后加入创建好的队列B,C,D中,如果出现了不同的数据类型,则再创建一队列F,如引循环去执行。
有没有兄弟做过类似的程序,给点代码参考一下,谢谢
#9
顶一下
#10
根据类型创建线程就行了啊
#11
顶一下,我自己也在想,快有点眉目了,如果高手们有更好或已经有方案的,给点思路啊