![]() |
1
6
我同意几何词汇有冲突。相反,想想火车轨道:两列平行轨道的火车可以独立运行,同时运行,很少或没有相互作用。这些火车并行运行。 基本的使用难点是“并发”可以是指“同时”(与列车或代码)或“在同一地点”(与几何线)。对于许多实际用途(列车、线程资源),这两个概念直接冲突。 自然语言是 想象上的 愚蠢,模棱两可,令人困惑。但我们是程序员。我们可以避开形式编程语言的清晰、简单和优雅。就像Perl。 |
![]() |
2
3
来自维基百科:
基本上,如果程序由较小的交互过程组成,那么它们可以作为并发程序编写。并行编程实际上是同时进行这些过程。 所以我认为并发编程实际上是一种风格,它允许并行执行进程以提高性能。 |
![]() |
3
2
不,绝对并发和并行是不同的。具体方法如下。 并发是指在同一时间段内共享资源。例如,几个进程可以共享同一个CPU或共享内存或I/O设备。 现在,根据定义,只有当第二个进程在第一个进程终止之前(在同一个CPU上)开始执行时,两个进程才是并发的。如果两个进程都运行在同一个单核CPU上,那么进程是并发的,但不是并行的:在这种情况下,并行只是虚拟的,指的是执行分时的操作系统。操作系统似乎同时执行多个进程。如果只有一个单核CPU,那么在任何特定时间只能执行来自一个进程的一条指令。由于人类的时间尺度比现代计算机慢数十亿倍,操作系统可以在进程之间快速切换,使多个进程同时执行。 如果您在两个不同的CPU上运行这两个进程,那么这些进程是并行的:在同一时间段内没有共享,因为每个进程都在自己的CPU上运行。这种情况下的并行性不是虚拟的,而是物理的。值得注意的是,在同一个多核CPU的不同内核上运行仍然不能被归类为完全并行,因为进程将共享同一个CPU缓存,甚至会争夺它们。 |
|
Jooseppi Luna · 在有条件的情况下,你把做作业叫做什么? 7 年前 |
![]() |
konchy · 为什么我们称CNN中的完全连接层为“顶层”? 7 年前 |
![]() |
Michal Charemza · 始终为真的if条件的术语 8 年前 |
![]() |
user3478869 · “实时软件开发”一词指的是什么? 9 年前 |
![]() |
Sumit Gera · C++中的辅助函数是什么? 11 年前 |
![]() |
Tarik · 如何理解“合同”的含义 12 年前 |