zoukankan      html  css  js  c++  java
  • CLR_via_C#.3rd 翻译[25.6 CLR线程和windows线程]

    25.6 CLR Threads and Windows Threads . CLR线程和windows线程

     

    今天,CLR使用的是Windows的线程处理能力,所以本章第V部分实际着眼于由Windows 向开发人员公开的线程处理能力。我将解释线程在Windows中是如何工作,以及CLR如何改变线程的行为(如果能的话)。然而,如果你想更多地学习线程,建议阅读我以前就这个主题出版的一些著作,比如我的《Windows via C/C++》一书(Microsoft Press,2007)。

     

    尽管今天的一个CLR线程是直接映射到一个Windows线程上,但微软CLR团队保留了将来把它从Windows线程分离的权利。有一天,CLR 可能引入它自己的逻辑线程概念,使一个CLR 逻辑线程并非一定映射到一个物理Windows 线程。据说,逻辑线程将使用比物理线程少得多的资源,所以能在极少量的物理线程上运行大量逻辑线程。例如,CLR可以判断你的一个线程处于等待状态,重新分配那个线程去做一个不同的任务。这个方案的好处在于:编码更简单、使用的资源更少以及潜在的性能提升。遗憾的是,要想真正实现这个方案,CLR团队还有大量工作要做,所以近期不太可能看到CLR推出这个功能。

     

    对你来说,这一切意味着在操纵线程时,代码应尽可能少地做出一些假设。例如,应避免P/Invoke成本地Windows函数,因为这些函数对CLR线程一无所知。通过避免使用本地Windows 函数,坚持使用FCL(Framework类库)中的类型,将来在性能得到提升之后,你的代码马上就能享受到这种提升。

  • 相关阅读:
    maven打包部署到私服
    RedisUtil工具类
    使用Spring+Junit4进行测试
    SpringMVC + MyBatis + Mysql + Redis(作为二级缓存) 配置
    Spring缓存注解@Cache使用
    Spring集成Redis使用注解
    Redis入门学习
    对年轻技术员的告诫
    WebMagic写的网络爬虫
    Jquery学习笔记(6)--jquery中attr和prop的区别【精辟】
  • 原文地址:https://www.cnblogs.com/TivonStone/p/1820919.html
Copyright © 2011-2022 走看看