예제 #1
0
        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");
            });
        }
예제 #2
0
        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();
        }
예제 #3
0
        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 });
                }
            });
        }
예제 #4
0
파일: Form1.cs 프로젝트: z0ulei/DBHelper
 public Form1()
 {
     InitializeComponent();
     ThreadPool.SetMinThreads(128, 128);
     _task = new TaskSchedulerEx(128, 128);
 }