有时候我们做项目时不免遇到这样一个问题:我们需要做一个功能,该功能需要处理来自于其他地方的数据,但是你需要保证任务需要一个一个循序渐进的进行,与此同时,数据来源的时机不可预知,有时任务一下子来了100条,有时一下子只来了1条,你要怎样处理这些数据,使得这些任务被执行的时候是一条一条的执行的。(描述真含糊,韩,韩,韩,汗...)。以下是我设计的解决方案(以后再有类似的需求,回来看时希望能看懂。。。):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public Queue<Action> m_List = new Queue<Action>(); //任务队列。
public bool isDo = true; //限制锁
static void Main(string[] args)
{
Program p = new Program();
p.DoCache();
Console.ReadKey();
}
/// <summary>
/// 将要执行的任务加入等