业务需求
1.当后端接口接受用户请求的时候,可能需要保存到多个地方(可能去写缓存,去入实体库)。
假设从Client接受到data 需要保存到DB1,DB2,DB3
保存时间:DB1>DB2>DB3
下面举个例子
假设保存DB1失败,DB2成功,DB3成功。当程序检测到有任何一个保存成功的时候,就立马提示用户保存成功,提高系统反应速度。
Console.WriteLine("开始接收到数据……");
object obj = new object();//加锁对象
bool reslut = false;//添加标识
Task<bool> t1 = Task.Factory.StartNew(() =>
{
Console.WriteLine("保存到DB1");
if (!reslut)//只有reslut = false才执行,防止标识被覆盖
{
lock (obj)
{
reslut = false;//假设保存到DB1失败
}
}
return reslut;
});
Task<bool> t2 &