并行计算和多线程的区别
一、指代不同
1、并行计算:是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。
2、多线程:是指从软件或者硬件上实现多个线程并发执行的技术。
二、特点不同
1、并行计算:是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。
2、多线程:具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。
三、用处不同
1、并行计算:将工作分离成离散部分,有助于同时解决;随时并及时地执行多个程序指令;多计算资源下解决问题的耗时要少于单个计算资源下的耗时。
2、多线程:在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等等。
参考资料来源:百度百科-多线程
参考资料来源:百度百科-并行计算
很明显并行比多线程具有更高的CPU利用率,因此效率相对更高;
并行是利用CPU的多个核进行计算,而多线程是利用CPU一个核在不同时间段内进行计算。
并行计算式多个线程运行在多个cpu上, 多线程是多个线程运行在一个cpu上, 并行计算基本是依赖多线程的。
多线程是一个线程只能运行在一个CPU,多个线程可以运行在多个CPU;并行计算是一个线程可以运行在多个CPU。
目前我认为的并行计算和多线程的关系:并行计算是以多线程为基础的。
关于并行计算和多线程的区别,我觉得需要从实现并行计算的角度来回答,
实现并行计算的条件:
1. 首先,有多个CPU,这是硬件条件
2. 其次,产生了多个线程,而且这些线程必须被分配到多个CPU上同时执行(注意,是同时执行,不是并发执行),才能实现并行计算(这些线程也有可能全部被分配到同一个CPU上执行,这种情况就不叫并行计算了)