1

我需要对线程进行一些澄清。何时要求线程的 1 MB 内存开销?是在创建线程对象时(costructor)还是在调用 Start() 方法时?Start 方法是否立即返回(在线程真正开始之前)?

如果我有一个创建和启动 N 个线程 > ThreadPool 的 maxThreads 的循环,循环会快速完成还是会等到所有线程都创建并启动?

谢谢你

4

1 回答 1

3

是在创建线程对象时(costructor)还是在调用 Start() 方法时?

1mb(默认情况下,但可配置,因为它是线程的堆栈大小)是在线程实际启动时创建的。

Start 方法是否立即返回(在线程真正开始之前)?

Start()方法是异步的,并立即返回。 Thread.Start的文档指定它“导致线程被安排执行”。

如果我有一个创建并启动 N 个线程 > ThreadPool 的 maxThreads 的循环,该循环会快速完成还是等待创建并启动所有线程?

它会很快完成(或者,至少不等待线程启动)。

于 2013-04-02T21:41:12.173 回答