private void button1_Click(object sender, EventArgs e) { TaskSchedulerEx _task = new TaskSchedulerEx(2, 2); string str = null; BackWork.RunAsync(() => { Thread.Sleep(1); str = "001"; }, () => { Log("输出" + str); }); BackWork.RunAsync(() => { Thread.Sleep(1); Log("输出002"); }); Task t = _task.RunAsync(() => { Log("输出" + "003"); Thread.Sleep(3000); Log("输出" + "003_1"); }); }
private void Form1_Load(object sender, EventArgs e) { ThreadPool.SetMaxThreads(5001, 5001); ThreadPool.SetMinThreads(5000, 5000); Task.Run(() => { if (_task0806 == null) { _task0806 = new TaskSchedulerEx(100, 5000); } }); ServiceHelper.RegisterAssembly(typeof(ITestService)); ServiceHelper.StartAllService(); }
private void btnTask3_Click(object sender, EventArgs e) { int n = 10000; Task.Factory.StartNew(() => { if (_task0806 == null) { _task0806 = new TaskSchedulerEx(100, 5000); } Thread.Sleep(100); _clickCount++; this.TryBeginInvoke(() => { txt.Text = string.Empty; }); _task0806.CancelAll(); for (int i = 1; i <= n; i++) { _task0806.Run((obj) => { dynamic data = (dynamic)obj; if (data.i % 100 == 0) { Log("开始 点击次数:" + data.clickCount + " 处理数量:" + data.i.ToString() + " / " + n.ToString()); } Thread.Sleep(5000); if (data.i % 100 == 0) { //Log("结束 点击次数:" + data.clickCount + " 处理数量:" + data.i.ToString() + " / " + n.ToString()); } }, new { clickCount = _clickCount, i = i }); } }); }
public Form1() { InitializeComponent(); ThreadPool.SetMinThreads(128, 128); _task = new TaskSchedulerEx(128, 128); }