算法题:N条长度不同的绳子,连接成M条绳子(M

woshiaihai 2016-03-02 09:35:30
该算法题实际上是解决我的多线程任务分配问题。
N个任务队列(队列长度不相同,队列中每个任务执行时间基本相同,队列不能拆分),要分配给M个线程去执行(M<N),如何是最优的分配策略?
...全文
394 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanta 2016-03-10
  • 打赏
  • 举报
回复
线程池ThreadPool肯定不是最佳的策略 这个问题实际上是N个任务,M个人完成,最短时间完成全部任务的任务分配策略问题。 我想的策略是这样: 1、将N个任务按执行时间长短排序 2、将最长的任务依次安排给M 3、每次任务安排完,优先将下一任务优先安排给任务最少的那个人。 4、直到所有任务完成。 ==================== 这个方案肯定不是最优解,但是最简单的 还有个方案 应该是最优解,但是运算时间过长 取N分配给M的所有组合,计算最长时间最小的。
pww71 2016-03-02
  • 打赏
  • 举报
回复
用单线程就ok了 http://blog.csdn.net/pww71/article/details/25113303
欢乐的小猪 2016-03-02
  • 打赏
  • 举报
回复
用线程池ThreadPool 设置线程最大数M

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧