假设我有2个内核。然后,我可以在每个正确的情况下运行2个进程。
线程是进程的内部。因此,在多线程中,如何在其他核心上执行线程。
显然我在多线程中的某个地方读取如果在另一个核心上执行一个线程,则由于上下文开关,它会慢。
,但我仍然不明白一个过程是否在核心上运行,并且所有线程都针对一个过程,那么同一过程的线程如何在其他核心上执行。
请在这里帮助我。
Process 是正在执行的计算机程序的实例。它包含程序代码及其当前活动。资料来源:Wikipedia
线程是可以通过调度程序独立管理的编程指令的最小序列。资料来源:Wikipedia
简单地说,过程是一组虚拟资源(程序代码,数据,堆栈,堆(,而线程是由CPU Core执行的。这意味着每个过程至少都有一个线程,但也可能有很多。
显然我在多线程中的某个地方读取如果在另一个核心上执行一个线程,则由于上下文开关,它会慢。
上下文开关是存储过程或线程状态的过程。这允许多个过程共享一个CPU,并且是多任务操作系统的重要功能。资料来源:Wikipedia
简单地说,与活动CPU相比,当活动胎面更多的胎面时会发生上下文开关。当我们只有一个过程和一个线程时,它也可能发生。