10.1.   343

 guarded  concurrent     
PRAM (Parallel Random-Access Machine      -
).    /    ,   -
 ,    /      , 
     PRAM-.     -
 , , .

PRAM-                         

CR (Concurrent Read   )                concurrent
CW (Concurrent Write   )               concurrent

CRCW (Concurrent Read Concurrent Write -      concurrent
, )

EW (Exclusive Write   )                  guarded
ER (Exclusive Read   )                  guarded

EREW (Exclusive Read Exclusive Write   ,   guarded
 )

  student_schedule     , 
  ,    ()   .

:

StudentNumber : string {frozen}
Term : string {changeable}
StudentSchedule : map <string,

vector<course> > {changeable}

:

scheduleDayO?Week(&X : vector<course>. Day : string) :

void {guarded}
StudentNumber() : string {isQuery, concurrent}

 StudentNumber     string.  -
    .   student_schedule -
    ,     ,  
Term      StudentSchedule         .   
scheduleDayO?Week()    (vector<course>)  -
  ,    Day.    (guarded) . 
  ,    ,  map-
 StudentSchedule,     . ,
   ,     . 
StudentNumber ()   : isQuery  concurrent.   -
  StudentNumber     .  
   ,      isQuery.

         
    .   ,    -
     .     ( -
)   .   
 ,   C++.

       ().