今天看学习视频时关于java线程有疑惑想请教一下大家:
1.对于多核CPU,如果是多进程并行,那对每个进程来说,其中的线程是不是只能并发,不能同时并行。
一个核心只能处理一个任务,多线程并行和多进程并行(不是并发)是不是不能同时存在。
2.优先级高的线程抢占的时间片多,这里的时间片多,指的是抢占到时间片的概率高,还是每次抢占到的时间片的时间长,该线程运行的时间长。
请指点一下,谢谢。
学习时关于Java线程的疑问?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 於黾 2022-07-20 15:09关注
1.线程是cpu执行的最小单位,而进程是线程的一个打包,每个进程至少由一个线程组成
没有人说过cpu一次只能运行同一个进程里的一个线程啊,可以一个进程里的多个线程同时执行的
而且即使是单核cpu,多线程和单线程效果也完全不一样
如果你的进程只有一个线程,那你一旦执行了sleep,整个进程都被阻塞了;而如果你开2个线程,cpu就可以分时复用,把sleep的线程丢到后台去,先执行其他的线程
2.当cpu不繁忙的时候,它就会按顺序调用栈里的线程来执行;
当cpu变得繁忙了,它会优先调用优先级高的那些线程,忽略优先级低的线程
也就是概率变高了
这样在每次抢占时长不变的情况下,总时长是变长了的本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 2024-五一综合模拟赛
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭