多程序设计,多线程和并行处理?

时间:2013-12-09 07:52:20

标签: multithreading parallel-processing

我想知道以下定义之间是否有任何细微差别:

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

据我所知,我们正在使用多线程来实现多道程序设计。并行处理应该与多道程序设计相同,还是与硬件相关?

由于

2 个答案:

答案 0 :(得分:2)

多道程序设计描述了您可以同时在计算机上运行多个程序(与旧的,例如一次只能运行一个程序的DOS系统相比)(有时也称为mutlitasking) - > multiprogramming

必须在描述中看到

多线程: - > multithreading

硬件多线程或体系结构:处理器能够并行运行多个线程(对于实际,反例:多道程序设计)

软件多线程:当一个进程由多个线程组成时,这些线程彼此不是独立的,就像进程一样,特别是那些线程在处理相同数据时可能具有竞争条件( - &gt; difference between thread & process)< / p>

并行处理表示有一些(> 1)CPU正在进行任何类型的处理。这包括一台具有多核的PC,一台具有多个处理器的服务器(例如在卡上)或甚至是计算机网络 - &gt; Parallel processing

答案 1 :(得分:2)

我经常看到你使用的第二和第三学期的方式:

并行处理是指同时运行的两个或多个线程,每个线程都使用自己的数据。也就是说,除了启动和停止之外,如果有任何同步问题,则很少。 多线程指的是相同的东西,除了线程共享数据并且必须非常小心。也就是说,同步就是一切。

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