task多任务处理

来源:互联网 发布:关于费米估算法的书 编辑:程序博客网 时间:2024/06/02 20:10
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.Windows.Forms;namespace WindowsFormsApplication1{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        //数据        List<int> lt = new List<int>();        //线程完成标识        List<Task> lttask = new List<Task>();        //数据段        List<List<int>> ltitem = new List<List<int>>();        //数据段数 默认10 一个线程对应一段数据        int threadCount = 10;        //初始化        public void Init() {            //数据分段            InitSector();            //任务初始化            InitThread();        }        //根据threadCount对数据进行分段并初始化线程完成标识        public void InitSector() {                    }        public void InitThread() {            for (int i = 0; i < threadCount; i++) {                Task t = Task.Factory.StartNew(() => Export(GetSector(i)));                lttask.Add(t);            }            //主线程会卡在这里等待所有线程完成之后            Task.WaitAll(lttask.ToArray());            //导出成功提示等等        }        //获取分段数据        public List<int> GetSector(int i) {            return null;        }        //导出的原方法        public void Export(List<int> lt) {        }    }}

0 0