2 zengjingb zengjingb 于 2016.01.30 11:02 提问

C#通过task解决多任务事情 5C

需求是这样的: 有100个任务,允许同时运行多个(10)线程task来执行,执行过程中,任意线程完成后,自动把新任务分配给它执行,并且能监控到到线程的执行状态, 直到100个任务全部完成!求代码

3个回答

caozhy
caozhy   Ds   Rxr 2016.02.01 07:45

你这个场景应该用线程池

需要自定义TaskScheduler
详细参考:
http://www.cnblogs.com/ryanding/archive/2011/03/22/1990799.html

u012494939
u012494939   2016.02.25 16:33

设置信号量来限制并发执行的任务,每个任务开始时请求信号量,结束时释放信号量。

oyljerry
oyljerry   Ds   Rxr 2016.01.30 11:46

生产者消费者模型。10个task。任务都放队列。各个task从队列中取任务执行

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
task多任务处理
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.W
AJAX实现多任务
效果: 文件1: ajax_multiTask.html body {text-align:center;align:center;color:#048bcc;background-color:#fff;} var xmlhttp; var txt,x,xx,i; function load
多线程编程(3、多任务并发处理)
例:假设我们有个方法要执行100次,得到100次返回的结果总和。串行执行 static void Main(string[] args) { SerialExcute(); Console.ReadLine(); } /// <summary> /// 串行执行,要阻塞主线程
多任务学习-Multitask Learning
1. 单任务学习VS多任务学习原文地址单任务学习:一次只学习一个任务(task),大部分的机器学习任务都属于单任务学习。多任务学习:把多个相关(related)的任务放在一起学习,同时学习多个任务。现在大多数机器学习任务都是单任务学习。对于复杂的问题,也可以分解为简单且相互独立的子问题来单独解决,然后再合并结果,得到最初复杂问题的结果。这样做看似合理,其实是不正确的,因为现实世界中很多问题不能分解为
c# Task多线程并行任务中等待所有线程都执行完成
C#多线程中如何等待所有线程的任务都执行完成呢?在.net 4.0以4.0+中,有Task.WaitAll(params Task[] tasks)方法来等待所有Task[],而不需要更多的操作。按照微软官方的文档,我写了一个实例来调试和说明: using System; using System.Collections.Generic; using System.Linq; using S
17.3.13 多任务学习 Multi-task learning
由于最近要读一篇用MTL来解决人脸识别的问题,所以提前学习一下MTL。本文主要内容摘自#Deep Learning回顾#之多任务学习多任务学习(multi-task learning,MTL),从字面的意思就能理解是多个任务同时进行学习的一种方法。单任务学习就是忽略任务之间的联系,单独的进行学习的方法。相比于单任务学习方法而言,多任务学习更加注重的每个样本之间的联系和差异,联合学习。这是一种归纳迁移
Multi-task learning(多任务学习)简介
1. 什么是Multi-task learning? Multi-tasklearning (多任务学习)是和single-task learning (单任务学习)相对的一种机器学习方法。拿大家经常使用的school data做个简单的对比,school data是用来预测学生成绩的回归问题的数据集,总共有139个中学的15362个学生,其中每一个中学都可以看作是一个预测任务。单任务学习就是忽
C#多任务多线程下载组件(源代码)
【版本已更新:http://download.csdn.net/source/1687395】 半成品,还有以下几部分未完成: 1、断点续传;(方法都在,代码没调好,就先注释掉了) (就是保存当前下载信息,下次重新读取,最简单的做法就是序列化,要用到的自己改改调调就成) 2、自定义下载窗体; (就像 MessageBox.Show() 一样,已经做了一个简单的Form) 3、部分细节没做好,可能存在BUG; (用着,遇到再说) 涉及的一些应用: 多线程 -- 没用线程池,因为不好控制状态; 事件驱动 -- 自我感觉不是很好,最好谁能改改; 另外,组件的封装也没仔细整理过~ 期待有人能做个完美的组件。 应用范围:文件下载、在线升级 (这个组件就是为了下载升级文件而做的……) 使用示例:(添加DLL引用) List<DTask> DTaskList = new List<DTask>(); foreach ( …… ) { DownloadMag.DTask dt = new DTask(); dt.Name = "任务名"; dt.FileName = "文件名"; dt.Size = 文件大小; dt.URL = "下载地址"; dt.CRC32 = CRC32校验值; dt.SaveMode = true; DTaskList.Add(dt); } new DownloadMag.DownloadForm(this).Show(DTaskList.ToArray(), "下载信息文件名"); 没时间修修改改,所以把这个半成品放出来了,也就当时抛砖引玉吧。 谁有兴趣有空闲就提提意见,找找Bug,最好是把它做完美了 :) 意见请提到:http://blog.csdn.net/0xff/archive/2007/11/01/1861780.aspx
多任务学习(Multi-task learning)
多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法。在机器学习领域,标准的算法理论是一次学习一个任务,也就是系统的输出为实数的情况。复杂的学习问题先被分解成理论上独立的子问题,然后分别对每个子问题进行学习,最后通过对子问题学习结果的组合建立复杂问题的数学模型。多任务学习是一种联合学习,多个任务并行学习,结果相互影响。
多任务深度学习(MultiTask Learning)
多任务学习给出多个监督信息(标签),利用任务之间的相关性互相促进。案例1-人脸识别香港中文大学汤晓鸥组发表在NIPS14的论文《Deep Learning Face Representation by Joint Identification-Verification》,提出了一种联合训练人脸确认损失和人脸分类损失的多任务人脸识别网络DeepID2(Deep IDentification-verif