试题详情
简答题 (1)两个并发进程并发执行,其中,A、B、C、D、E是原语,试给出可能的并发执行路径。  Process P             Process Q  begin                 begin               A;                  D;              B;                  E;              C;               end;           end;  (2) 两个并发进程P1和P2并发执行,它们的程序分别如下:        P1             P2         repeat            repeat          k:=k×2;        print k;          k:=k+1;         k:=0;       until false;       until false;  若令k的初值为5,让P1先执行两个循环,然后,P1和P2又并发执行了一个循环,写出可能的打印值,指出与时间有关的错误。
  • (1) 共有10种交错执行的路径:
    A、B、C、D、E;A、B、D、E、C;A、B、D、C、E;
    A、D、B、E、C;A、D、B、C、E;A、D、E、B、C;
    D、A、B、E、C;D、A、B、C、E;D、A、E、B、C;D、E、A、B、C。
    (2) 把语句编号,以便于描述:
    P1             P2
    repeat            repeat
    K:=k×2;   ①     print k;  ③
    K:=k+1;    ②     k:=0;   ④
    until false;        until false;
    1)K的初值为5,故P1执行两个循环后,K=23。
    2)语句并发执行有以下情况:
    ①、②、③、④,这时的打印值为:47
    ③、④、①、②,这时的打印值为:23
    ①、③、②、④,这时的打印值为:46
    ①、③、④、②,这时的打印值为:46
    ③、①、②、④,这时的打印值为:23
    ③、①、④、②,这时的打印值为:23
    由于进程P1和P2并发执行,共享了变量K,故产生了‘结果不唯一’。
  • 关注下方微信公众号,在线模考后查看

热门试题