java 权重 分配_java算法,如何按照权重来分配任务?

这篇博客介绍了在Java中如何设计算法,按照权重比例来分配任务。首先,通过计算权重和,确定每个执行者的基本分配数。如果任务数不能整除权重和,则将余数优先分配给权重较小的执行者。文章提供了具体的代码实现,包括分配主要部分和处理余数的逻辑,帮助读者理解如何在实际项目中实现这样的任务分配机制。
摘要由CSDN通过智能技术生成

随着科学技术与经济水平的不断发展与提升,越来越多的人开始投身到java的学习中了,以谋求更高的薪资与更好的生活水平。今天就来为大家介绍一些java基础知识,在java算法中,如何按照权重来分配任务?一起来看看吧。

首先,假设有一些任务执行者执行一定数量的任务,并且任务的分配需要按一定的权重比来进行。任务的分配是随机的,分配完毕后需要为每条任务打上执行者的标签(也就是被谁执行)。分配算法并不难,但是用java写起来还是很有趣的。

先简述一下算法设计:

1.总的任务数能被权重和整除,那么每个人分配的数量就是:总任务数/权重和*权重;

2.总的任务数不能被权重和整除,则先按整除的数按1的方式分,然后余数再优先分给权重较小的执行者。代码展示如下://总的任务

List  dataList = pm1.getDataList();

int total = dataList.size();

//待分配人员

List  autoList = pmAuto.getDataList();

//总权重

int totalWight = 0;

for (int i = 0; i 

{

ExecutorDTO dto = autoList.get(i);

int weight = dto.getWeight();

totalWight += weight;

}

//获得能整除的最大数

Integer maxInt = getMaxInt(totalWight, total);

int 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值