【问题标题】:MultiProgramming , multi-threading, and parallel processing?多程序、多线程和并行处理?
【发布时间】:2013-12-09 07:52:20
【问题描述】:

我想知道:

  • 多道程序
  • 多线程
  • 并行处理

据我了解,我们正在使用多线程来实现多道程序。并行处理应该和多道程序一样,还是和硬件有关?

谢谢

【问题讨论】:

    标签: multithreading parallel-processing


    【解决方案1】:

    Multiprogramming 描述了您能够同时在一台计算机上运行多个程序(与旧的例如 DOS 系统相比,一次只能运行一个程序)(有时也称为多任务处理)-> multiprogramming

    多线程必须在描述上有所不同:-> multithreading

    硬件多线程或架构:一个处理器能够并行运行多个线程(实际上,反例:多道程序)

    软件多线程:当一个进程由多个线程组成时,这些线程并不相互独立,就像进程一样,尤其是那些线程在处理相同数据时可能存在竞争条件 (-> difference between thread & process )

    并行处理描述了有一些 (> 1) CPU 以任何形式一起工作。这包括一台具有多核的 PC、一台具有多个处理器(例如卡上)的服务器,甚至是一个计算机网络 -> Parallel processing

    【讨论】:

      【解决方案2】:

      我通常看到您使用的第二和第三个术语的方式:

      并行处理是指同时运行的两个或多个线程,每个线程处理自己的数据。也就是说,除了启动和停止之外,几乎没有同步问题。 多线程 指的是几乎相同的东西,除了线程共享数据并且必须非常小心这一点。也就是说,同步就是一切。

      正确的并行处理并不比运行单个线程难多少。 (大多数平台都提供各种支持以帮助保持简单。)多线程是一项非常艰巨的工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-02
        • 1970-01-01
        • 2012-03-17
        • 1970-01-01
        • 1970-01-01
        • 2011-02-10
        相关资源
        最近更新 更多