我需要对线程做一些澄清。 声称线程的1 MB内存开销是多少? 是在创建线程对象(costructor)还是调用Start()方法时? Start方法是否立即返回(在线程真正启动之前)?
如果我有一个创建并启动N个线程的循环> ThreadPool的maxThreads,循环是否会快速完成,或者它会等到所有线程都被创建并启动?
谢谢
答案 0 :(得分:3)
是在创建线程对象(costructor)还是调用Start()方法时?
当线程实际启动时,会创建1mb(默认情况下,但可配置,因为它是线程的堆栈大小)。
Start方法是否立即返回(在线程真正启动之前)?
Start()
方法是异步的,并立即返回。 Thread.Start的文档指定它“导致线程计划执行。”
如果我有一个创建并启动N个线程的循环> ThreadPool的maxThreads,循环完全快,还是等待创建并启动所有线程?
它会很快完成(或者至少不等待线程启动)。