[18][33][多选]进程P有两个线程T1和T2,其完成的功能如代码所示。
``` T1: while (true) { i = i + 2; } T2: while (true) { printf ("%d", i); i = 0; } ``` 假设i的当前值是0,之后T1和T2并发执行了2次循环。下列哪些值是可能的输出结果
0
2
4
6
8
答案
0
4
8
解析
两个线程执行顺序可能为:T1T2T1T2,那么输出结果为2和0,选项A正确;两个线程执行顺序可能为:T2T1T2T1,那么输出结果为0和0,选项C正确;两个线程执行顺序可能为:T1T2T2T1,那么输出结果为2和2,选项E正确。故本题答案选择ACE选项。涉及考点为第3章进程线程模型。
转载请注明出处。