本地线程,英文来自英文 Thread-Local, 是多线程里的东西,其实翻译为本地进程并不是那么确切,翻译过来的意思还不如不翻译好.他是指把东西共享级别设为thread local 内.如果你用thread-local 在MSDN中查找,可以找到一些例子和解释,我就不给你贴过来了.我简单说说 ThreadLocal 的好处:
ThreadLocal 能带来很多好处。它常常是把有状态类描绘成线程安全的,或者封装非线程安全类以使它们能够在多线程环境中安全地使用的最容易的方式。使用 ThreadLocal 使我们可以绕过为实现线程安全而对何时需要同步进行判断的复杂过程,而且因为它不需要任何同步,所以也改善了可伸缩性。除简单之外,用 ThreadLocal 存储每线程单子或每线程上下文信息在归档方面还有一个颇有价值好处 — 通过使用 ThreadLocal,存储在 ThreadLocal 中的对象都是不被线程共享的是清晰的,从而简化了判断一个类是否线程安全的工作。----------------------------------------
To teach a fish how to swim.

解决方案 »

  1.   

    我的理解是Native Thread(本地线程)。如果你用过任何Unix平台的话,应该知道Unix操作系统并不支持Thread概念,而你的程序如果需要多线程,就需要使用诸如PThread这样的库。所谓Native Thread,就是指操作系统级别上支持的Thread;于它对应的是由某个类库实现的Thread的控制/切换。如PThread,就不是Native的;而Windows的CreateThread则建立一个Native Thread。>> .net里的线程是由框架控制的,还是“本地”的。
    说白了,就是.net里的线程是一个在底层操作系统实际存在支持的线程,还是一个由CLR自己实现的,不需要操作系统支持的线程。
      

  2.   

    Remote Thread是有的,不过和这个没什么关系。:)
      

  3.   

    To:
    aspritionisdead: 能说说你的出处吗?To: qqchen79我觉得C#中所说"本地线程",很可能就是 Thread-Local. 我在MSDN中可以找到n多的Thread-Local. 却没有找到 Native Thread.
    ----------------------------------------
    To teach a fish how to swim.
      

  4.   

    Thread-Local自己并不是词,一般是加上Storage,表示“线程局部存储”(TLS),或者Variable,表示“线程局部变量”。
    这是为每个线程独立分配的内存空间,与CLR/.NET好像没什么关系,而且一般不翻译成“本地”的。
      

  5.   

    谢谢各位的回复。TheAres(班门斧):
    我是在看到VS.NET的帮助文件(中文的)关于线程的文章是看到“本地线程”这个词的,“.net里的线程是由框架控制的,是本地线程”。qqchen79(知秋一叶):那UNIX中只有PROCESS的概念吗?
      

  6.   

    >> qqchen79(知秋一叶):那UNIX中只有PROCESS的概念吗?
    Unix系统内部的确只有Process概念,例如fork这样的建立Process的调用是Unix系统核心支持的。