文章

8

粉丝

41

获赞

0

访问

251

头像
【2009年】408计算机统考真题模拟考试 - 第45题答案笔记
操作系统
发布于2025年4月2日 16:05
阅读数 15

计算机考研408统考历年真题及答案解析

// 定义信号量

semaphore empty = N; // 缓冲区空单元数量

semaphore mutex = 1; // 互斥访问缓冲区

semaphore odd = 0; // 缓冲区中奇数数量

semaphore even = 0; // 缓冲区中偶数数量

 

// 进程P1

void P1() {

    while (1) {

        int num = produce(); // 生成正整数

        P(empty);

        P(mutex);

        put(num); // 送入缓冲区

        if (num % 2 == 1) { // 奇数

            V(odd);

        } else { // 偶数

            V(even);

        }

        V(mutex);

    }

}

 

// 进程P2

void P2() {

    while (1) {

        P(odd);

        P(mutex);

        int num = getodd(); // 取出奇数

        V(mutex);

        V(empt...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发