我在哪里可以找到有关创建线程时幕后的信息?

时间:2011-09-21 19:11:30

标签: c# .net multithreading

我在哪里可以找到有关在创建新内容时幕后发生的信息 线程?

当我写

    Thread t = new Thread ()
....
t.start()....

我想知道实际发生了什么...... 你能转发我吗?

2 个答案:

答案 0 :(得分:1)

虽然托管线程的行为不一定与本机线程的行为相同,但请看一下本文涵盖的基本前提:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms681917(v=vs.85).aspx

具体来说,当您创建一个线程时,代码将在下面的上下文中运行:

线程是进程中可以调度执行的实体。进程的所有线程共享其虚拟地址空间和系统资源。此外,每个线程都维护异常处理程序,调度优先级,线程本地存储,唯一线程标识符以及系统将用于保存线程上下文直到调度的一组结构。线程上下文包括线程的机器寄存器集,内核堆栈,线程环境块和线程进程的地址空间中的用户堆栈。线程也可以有自己的安全上下文,可用于模拟客户端。

答案 1 :(得分:1)

就在这里作为答案,Jeffrey Richter's CLR via C#可能会教你一些你不了解CLR内部的东西。

这里是Joe Duffy's Concurrent Programming on Windows

†在统计意义上