【问题标题】:Does .NET takes advantage of multicore?.NET 是否利用了多核?
【发布时间】:2012-07-23 14:40:23
【问题描述】:

如果我实现了一个使用不同线程工作的程序,我是否可以依靠 .Net 框架来负责利用(可能的)多核硬件架构来执行线程?

谢谢

【问题讨论】:

    标签: .net multithreading multicore


    【解决方案1】:

    操作系统应该管理它并在它认为合适的时候分配线程。

    如果您正在使用 .NET 4 并希望利用多核 CPU,您还可以查看 Tasks Parallel Libary,它是专门为使并行计算任务更易于实施而创建的。

    【讨论】:

    • 那么,是由操作系统来管理这些东西,还是我必须学习任务模式? ;)
    【解决方案2】:

    这是操作系统的职责,是的,通常情况下它将使用多个内核。

    【讨论】:

      【解决方案3】:

      如果您想利用该架构,您必须使用带有任务并行库的 .NET Framewrok 4.0

      System.Threading System.Threading.Tasks

      您必须使用任务而不是线程,因为任务会动态计算是否需要创建不同的执行线程。

      看看这个link

      【讨论】:

        【解决方案4】:

        操作系统负责为线程提供执行。该框架是普通 API 调用之上的一层,可以提供额外的多线程功能或更简单的访问。

        【讨论】:

        • 我不需要额外的多线程功能。对我来说足以知道我的多线程应用程序在多核设备上运行时可以利用这些内核。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-26
        • 1970-01-01
        • 2014-05-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多