gpt4 book ai didi

multithreading - 关于在几个 CPU 机器上具有多个线程的应用程序的问题

转载 作者:行者123 更新时间:2023-12-04 06:45:57 25 4
gpt4 key购买 nike

给定一台具有 1 个 CPU 和大量 RAM 的机器。除了其他类型的应用程序(Web 服务器等)之外,该计算机上还有 2 个其他服务器应用程序正在执行完全相同的处理,尽管一个应用程序使用 10 个线程,其他用户使用 1 个线程。假设每个请求的处理逻辑 100% CPU 绑定(bind),并且通常需要不超过 2 秒的时间才能完成。问题是,就每分钟处理的事务而言,谁的吞吐量可能更好?为什么?

注意,上面不是真实环境,我只是编造数据来说明问题。我目前的想法是,应该没有区别,因为应用程序是 100% CPU 绑定(bind)的,因此如果机器每分钟可以处理第二个应用程序 30 个请求,那么它也将能够每分钟处理每个应用程序 3 个请求。第一个应用程序的 10 个线程。但我很高兴被证明是错误的,因为计算机中还运行着其他应用程序,并且一个应用程序可能并不总是获得 100% 的 CPU 时间。

最佳答案

任务切换总是会涉及一些开销,因此如果线程没有阻塞任何事情,那么线程越少通常越好。另外,如果线程没有执行代码的同一部分,则每次切换时都会刷新一些缓存。

另一方面,差异可能无法衡量。

关于multithreading - 关于在几个 CPU 机器上具有多个线程的应用程序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/739437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com