泛舟湖上清波郎朗
我写一下大概的想法吧...每个客服都是一个单独的对象,这个对象上面存客服数据(工号,窗口号等等),还存一个正在处理的用户对象(暂时存着,目前还想不到是否有必要..)所有等待的用户存在一个有序列表里(比如linkedList).写一个管理器.管理所有客服对象和用户列表.这个管理器里加一个定时器.每隔几秒就调用一下用户分配的方法.这个方法里遍历所有客服对象.检查当前客服服务的用户数量,如果不满10个就从用户列表里取出一个加上.(这里可以增加一些判断,比如,记录一下最少的客服服务用户的数量,如果后面的客服有超过这个数量,就不分配给他新用户,而是等到下次调用这个方法的时候分配给服务用户少的客服..大概是这个意思,这样实现你的平均分配.ps:你也可以每次调用这个方法完最后给客服按照服务数量排序.这个方法是分配的核心代码.)集合的选用,选择有序的就行,不管是否同步,不同步的话,自己在外部加锁就可以了,并没有什么大的消耗.另一种方案是..每个客服处理完之后自己去队列里要用户,但是那个方案不太好控制平均分配,写出来的代码会比较怪,客服不仅要去要用户,还要去看别的客服处理的用户数量来判断自己要多少用户...很怪异..所以这个方案我倒是还没想到怎么弄...