当线程1在执行for循环时,执行到一半,失去了CPU的执行权,此时再次获取到CPU的执行权时会从上次运行的位置继续往后执行呢还是重头开始再次执行一遍。
这里指的for循环是
for (;;) {
1 int a = b+1;
2 //执行到2处失去CPU执行权
3
}
当线程1在执行for循环时,执行到一半,失去了CPU的执行权,此时再次获取到CPU的执行权时会从上次运行的位置继续往后执行呢还是重头开始再次执行一遍。
这里指的for循环是
for (;;) {
1 int a = b+1;
2 //执行到2处失去CPU执行权
3
}
4 回答1.3k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答721 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
所谓 CPU 切换你应该指的是 CPU 分片导致的进程/线程上下文切换吧?
把这个问题补全你应该就明白了。
既然线程运行状态是有上下文状态的,那么线程切换当然不会影响 for 循环了,继续进行呗,不会重头的。