首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多进程与多线程

多进程与多线程
EN

Stack Overflow用户
提问于 2018-02-25 18:29:09
回答 1查看 887关注 0票数 0

假设我有两个核心。然后,我可以运行两个进程,每一个正确。

线程是processes.So内部的多线程,如何在不同的内核上执行线程。

显然,我在多线程中读到过,如果一个线程在一个不同的内核上执行,那么由于上下文切换,它会慢一些。

但是,我仍然不明白,如果一个进程运行在一个核心上,并且所有线程都是特定于一个进程的,那么一个相同进程的线程如何在一个不同的核心上执行。

请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2018-02-26 11:18:39

Process是正在执行的计算机程序的实例。它包含程序代码及其当前活动。来源:维基百科

线程是可由调度程序独立管理的最小的程序指令序列。来源:维基百科

简单地说,进程是一组虚拟资源(程序代码、数据、堆栈、堆),而线程是由CPU核心执行的。这意味着每个进程至少有一个线程,但也可能有很多线程。

显然,我在多线程中读到过,如果一个线程在一个不同的内核上执行,那么由于上下文切换,它会慢一些。

上下文切换是存储进程或线程状态的过程。这允许多个进程共享一个CPU,并且是多任务操作系统的一个基本特性。来源:维基百科

简单地说,上下文切换发生在比活动CPU更活跃的情况下。当我们只有一个进程和一个线程时,这种情况也可能发生。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48976949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档