gpt4 book ai didi

c# - 有关线程和联接用法的基本查询C#

转载 作者:行者123 更新时间:2023-12-03 13:14:13 24 4
gpt4 key购买 nike

有时候我在程序中使用线程,但是我从不使用join()。我有一些关于join()的信息,如下所示

Join will stop the current running thread and let the "Join" thread runs until it finishes.

static void Main()
{
Thread t = new Thread (Go);
t.Start();
t.Join();
Console.WriteLine ("Thread t has ended!");
}

static void Go()
{
for (int i = 0; i < 10; i++) Console.Write ("y");
}

从上面的代码中,我只是不了解join()在这里起着什么样的重要作用。请讨论有关联接的用法。

如果可能的话,请给我一个关于join()的小写实代码,这样我就可以理解join()的用法。

还可以指导我,join()可以在多线程环境中使用。谢谢

最佳答案

如果从代码应用程序中删除t.Join(),它将在确定执行Go()方法之前结束执行。

如果您有两个或两个以上可以同时执行的方法,但是在执行依赖于它们的方法之前,所有这些方法都需要完成,则Join非常有用。

请看下面的代码:

static void Main(string[] args)
{
Thread t1 = new Thread(Method1);
Thread t2 = new Thread(Method2);
t1.Start();
t2.Start();
Console.WriteLine("Both methods are executed independently now");
t1.Join(); // wait for thread 1 to complete
t2.Join(); // wait for thread 2 to complete
Console.WriteLine("both methods have completed");
Method3(); // using results from thread 1 and thread 2 we can execute method3 that can use results from Method1 and Method2

}

关于c# - 有关线程和联接用法的基本查询C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15659611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com