python - 对于单核cpu而言,开多线程的目的难倒只能是为了防止阻塞么?
巴扎黑
巴扎黑 2017-04-17 16:17:51
[Python讨论组]

以下是一些单核cpu多线程的疑问,求解答(都指单核)。
1.如果一个进程有n个任务要处理,因为终究是在一个cpu上跑,所以这n个任务在一个线程还是多个线程上跑,执行的总时间是一样的(多线程,线程切换可能更浪费时间)?
2.是否进程开多线程就能抢到更多的cpu时间,python这种带GIL的估计是没戏了,那么java呢?
3.自己抢到更多cpu,机器上的其它程序不就cpu时间少了么?是因为cpu大部分时间都是空闲的,不怕抢?还是因为在做应用层开发的时候,是不用考虑其它程序能不能抢到cpu时间的。
4.一个进程所有线程能抢到的时间片总和是有最大值吗?一个线程一次能拿到多长的cpu时间?
综上,我的最大疑问就是:对于单核cpu而言,开多线程难倒只能防止阻塞么?

巴扎黑
巴扎黑

全部回复(1)
阿神

我想如果你了解操作系统对进程的管理机制就不会问出这样的问题了。
通过开线程来抢CPU还不如提高一下优先级呢。
程序是为需要设计的,线程是在需要的时候使用的,不是为了用而用的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号