我想知道,在以下方面的定义是否有细微差别:
据我所知,我们正在使用多线程来实现多线程。并行处理应该与多线程相同,还是与硬件相关?
谢谢
发布于 2013-12-09 09:41:43
Multiprogramming描述了您能够同时在计算机上运行多个程序(与一次只能运行一个程序的旧的-> 多程序设计系统相比)(有时也被称为变异)。
Multithreading必须在描述上有不同的看法:-> 多线程
硬件多线程或体系结构:处理器能够并行运行多个线程(实际上,反例是:多道程序)
当一个进程由多个线程组成时,这些线程彼此不独立,就像进程一样,特别是那些线程在处理相同的数据时可能具有争用条件(-> 线程与进程的区别 )。
并行处理指出,有一些(> 1) CPU在任何类型的协同工作。这包括一台具有多核的PC,一台具有多处理器的服务器(如卡片上的处理器),甚至包括一个计算机网络-> 并行处理。
发布于 2013-12-09 19:24:56
我通常看到你的第二和第三个术语使用的方式:
并行处理是指两个或多个线程同时运行,每个线程处理自己的数据。也就是说,除了启动和停止之外,几乎没有同步问题。Multithreading指的是很多相同的东西,只是线程共享数据,必须非常小心。也就是说,同步就是一切。
正确的并行处理并不比运行单个线程困难得多。(大多数平台都提供各种支持,以帮助保持简单。) Multithreading是一项非常艰苦的工作。
https://stackoverflow.com/questions/20465647
复制相似问题