我该如何创建后台线程?

use*_*949 4 .net c#

由以下创建的线程是前台线程

  Thread workingThread = new Thread(new ParameterizedThreadStart(DoJob));
Run Code Online (Sandbox Code Playgroud)

我可以创建线程创建背景吗?

Ani*_*Ani 13

是的你可以; System.Threading.ThreadIsBackground房产.

获取或设置一个值,该值指示线程是否为后台线程.

Thread workingThread = new Thread(new ParameterizedThreadStart(DoJob))
                                 { IsBackground = true };
Run Code Online (Sandbox Code Playgroud)


mar*_*eon 10

我知道这是一个较旧的线程,但是如何创建新线程的最实用的解决方案是:

 new Thread(() => NameOfYourMethod()) { IsBackground = true }.Start();
Run Code Online (Sandbox Code Playgroud)

如果需要创建参数化的Thread,只需做简单的修改:

 new Thread(() => NameOfYourMethod(param1, param2...)) { IsBackground = true }.Start();
Run Code Online (Sandbox Code Playgroud)

就是这样,我希望它可以帮助某人:)

*仅当您出于某种原因不需要存储 Treads 时才使用此选项。

  • 没有理由重复七年前已经发布*四次*的答案。 (3认同)
  • 大声笑,我的答案不是重复的,我在上面的任何地方都没有看到相同的答案。我知道所有人都说“IsBackground”,但每次都必须使用名称或使用旧方法创建新线程,在我的解决方案中,我使用的是最新方法并且没有任何名称声明。 (2认同)