C#调用两个方法,可以不需要等第一个方法执行完就马上执行第二个方法吗?
如图,现在的情况是:A方法里面会执行B和C方法,但是要等B方法执行之后才能执行C方法。我现在不想等B方法执行完,就可以马上执行C方法。有大佬知道吗?...
如图,现在的情况是:A方法里面会执行B和C方法,但是要等B方法执行之后才能执行C方法。我现在不想等B方法执行完,就可以马上执行C方法。有大佬知道吗?
展开
展开全部
用异步就可以。
class Program
{
public static Action delB;
static void Main(string[] args)
{
delB = B;
A();
Console.ReadKey();
}
public static void A()
{
Console.WriteLine("A执行开始");
delB.BeginInvoke(null,null);
if(C()==true)
{
Console.WriteLine("A执行成功");
}
}
private static bool C()
{
Console.WriteLine("C执行开始");
Thread.Sleep(1000);
Console.WriteLine("C执行成功");
return true;
}
private static void B()
{
Console.WriteLine("B执行开始");
Thread.Sleep(3000);
Console.WriteLine("B执行成功");
}
}
class Program
{
public static Action delB;
static void Main(string[] args)
{
delB = B;
A();
Console.ReadKey();
}
public static void A()
{
Console.WriteLine("A执行开始");
delB.BeginInvoke(null,null);
if(C()==true)
{
Console.WriteLine("A执行成功");
}
}
private static bool C()
{
Console.WriteLine("C执行开始");
Thread.Sleep(1000);
Console.WriteLine("C执行成功");
return true;
}
private static void B()
{
Console.WriteLine("B执行开始");
Thread.Sleep(3000);
Console.WriteLine("B执行成功");
}
}
更多追问追答
追问
你好,你写的代码中,delB.BeginInvoke(null, null);这串代码是开启线程吗,如果是的话,用完需不需要手动关闭啊
追答
不需要的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询