2020-12-07

C# Task多线程与队列

public static void RunTask(List list, Action action, int threadCount = 5, bool waitFlag = true)
{
ConcurrentQueue queue = new ConcurrentQueue(list);
Task[] tasks = new Task[threadCount];
for (int i = 0; i < threadCount; i++)
{
tasks[i] = Task.Run(() =>
{
T t;
while (queue.TryDequeue(out t))
{
action(t);
}
});
}
if (waitFlag)
{
Task.WaitAll(tasks);
}
}
//调用方法
new System.Threading.Thread(delegate()
{
IP.RunTask(list, _num =>
{
List_int.Dispatcher.Invoke(delegate()
{
List_int.Items.Add(_num + DateTime.Now.ToString("YYYY-MM-dd-mm-ss"));

    });    //MessageBox.Show();    System.Threading.Thread.Sleep(2000);    List_int.Dispatcher.Invoke(delegate()    {     List_int.Items.Add("结束" + _num);    });   });   MessageBox.Show("结束");  }   ).Start();








原文转载:http://www.shaoqun.com/a/495108.html

gem:https://www.ikjzd.com/w/1997

手机trademanager:https://www.ikjzd.com/w/730

易佰:https://www.ikjzd.com/w/1482


publicstaticvoidRunTask(Listlist,Actionaction,intthreadCount=5,boolwaitFlag=true){ConcurrentQueuequeue=newConcurrentQueue(list);Task[]tasks=newTask[threadCount];for(inti=0;i<threadCount;i++){tasks[
汇通天下:汇通天下
grab:grab
来深圳旅游如何安排?:来深圳旅游如何安排?
清迈旅游攻略2020:清迈旅游攻略2020
鸣翠谷在哪里?好玩吗?:鸣翠谷在哪里?好玩吗?

No comments:

Post a Comment