我想知道以下定义之间是否有任何细微差别:
据我所知,我们正在使用多线程来实现多道程序设计。并行处理应该与多道程序设计相同,还是与硬件相关?
由于
答案 0 :(得分:2)
多道程序设计描述了您可以同时在计算机上运行多个程序(与旧的,例如一次只能运行一个程序的DOS系统相比)(有时也称为mutlitasking) - > multiprogramming
必须在描述中看到多线程: - > multithreading
硬件多线程或体系结构:处理器能够并行运行多个线程(对于实际,反例:多道程序设计)
软件多线程:当一个进程由多个线程组成时,这些线程彼此不是独立的,就像进程一样,特别是那些线程在处理相同数据时可能具有竞争条件( - &gt; difference between thread & process)< / p>
并行处理表示有一些(> 1)CPU正在进行任何类型的处理。这包括一台具有多核的PC,一台具有多个处理器的服务器(例如在卡上)或甚至是计算机网络 - &gt; Parallel processing
答案 1 :(得分:2)
我经常看到你使用的第二和第三学期的方式:
并行处理是指同时运行的两个或多个线程,每个线程都使用自己的数据。也就是说,除了启动和停止之外,如果有任何同步问题,则很少。 多线程指的是相同的东西,除了线程共享数据并且必须非常小心。也就是说,同步就是一切。
正确的并行处理并不比运行单个线程困难得多。 (大多数平台提供各种支持以帮助保持简单。)多线程是一项非常艰苦的工作。