博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
任务平均分配的小算法
阅读量:4649 次
发布时间:2019-06-09

本文共 839 字,大约阅读时间需要 2 分钟。

如:进程池个数为7,需要完成的任务为54,如果用满进程池,有以下几种简单的分法:

7  7  7  7  7  7  12

8  8  8  8  8  8  6

8  8  8  8  8  7  7

 

第三种分法最平均:

54  7

54=(8*5)+(7*2)

7=54/7

8=7+1

5=54%7

2=7-5

 

python 实现:

#!usr/bin/env python#encoding=utf-8def division(sum, num):    remainder = sum % num    quotient = sum / num    result = []    for i in range(remainder):        result.append(quotient + 1)    for i in range(num - remainder):        result.append(quotient)    print result    start = 0    result_start_end = []    for i in range(num):        end = start + result[i]        result_start_end.append([start, end])        start = end    return result_start_endif __name__ == '__main__':    print division(54, 7)

结果:

[8, 8, 8, 8, 8, 7, 7][[0, 8], [8, 16], [16, 24], [24, 32], [32, 40], [40, 47], [47, 54]]

 

原文:

转载于:https://www.cnblogs.com/congbo/archive/2012/08/27/2658990.html

你可能感兴趣的文章
Web.py Cookbook 简体中文版 - 保存上传的文件
查看>>
MongoDB学习笔记二—Shell操作
查看>>
Hibernate之二级缓存
查看>>
.NET Oracle连接方法
查看>>
浅谈数据库的完整性
查看>>
OSPF协议介绍及配置 (下)
查看>>
3. 从零开始学CSRF
查看>>
《剑指offer》-逐层打印二叉树
查看>>
Shell脚本之grep
查看>>
使用html+css+js实现3D相册
查看>>
python 爬虫
查看>>
某些小技巧的技术分享
查看>>
关于git远程版本库的一些问题之解决
查看>>
继承、多态、接口
查看>>
高等代数中的名词解析-No1
查看>>
膨胀的木棍
查看>>
Python -- sys模块
查看>>
LOJ3119 CTS2019 随机立方体 概率、容斥、二项式反演
查看>>
[poj2234]Matces Game_博弈论
查看>>
play @Before 的使用
查看>>