首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Windows C++进程与线程

Windows C++进程与线程
EN

Stack Overflow用户
提问于 2011-04-15 21:41:46
回答 5查看 4.3K关注 0票数 3

在Windows中,如果一个线程正在执行非常耗费C++的操作,createThread()会导致一些线程变慢。createProcess()会缓解这个问题吗?如果是这样,createProcess()是否意味着代码必须驻留在第二个可执行文件中,或者这一切都可以发生在同一个可执行文件中?

EN

Stack Overflow用户

发布于 2011-04-15 22:01:34

这会让事情变得更糟。当切换线程时,CPU只需要换出几个寄存器。因为一个进程的所有线程共享相同的内存,所以不需要刷新缓存。但在进程之间切换时,您也会切换映射内存。因此,CPU必须刷新L1缓存。那是痛苦的。

(L2缓存是物理映射的,即使用硬件地址。当然,这些是不会改变的。)

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

https://stackoverflow.com/questions/5677650

复制
相关文章

相似问题

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