首页 > 试题广场 >

A file is to be shared among di

[问答题]
A file is to be shared among different processes,each of which has a unique number.The file can be accessed simultaneously by several processes,subject to the following constraint:The sum of all unique numbers associated with all the processes currently accessing the file must be less than n.Write a monitor toc oordinate access to the file.
推荐
The pseudocode is as follows:
monitor file_access {
    int curr_sum=0;
    int n;
    condition c;

    void access_file(int my_num) {
        while (curr_sum + my_num >= n)
        c.wait();
        curr_sum += my_num;
    }
    void finish_access(int my_num) {
        curr_sum -= my_num;
        c.broadcast();
    }
}

发表于 2018-05-05 22:16:00 回复(0)