大学职业资格刷题搜题APP
下载APP
课程
题库模板
WORD模板下载
EXCEL模板下载
题库创建教程
创建题库
登录
logo - 刷刷题
创建自己的小题库
搜索
【简答题】

阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。
[说明]
有两个任务(编号分别为0和1)需要访问同一个共享资源,为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个任务访问该共享资源。代码一给出了一种实现方法。
[代码一]
1: int flag[2]; / flag 数组,初始化为FALSE /
2: Enter_Critical_Section(int my_task_id, int other_task_id)
3: {
4: while (flag[other_task_id] == TRUE); / 空循环语句 /
5: flag[my_task_id] = TRUE;
6: }
7: Exit_Critical_Section(int my_task_id, int other_task_id)
8: {
9: flag[my_task_id] = FALSE;
10: }
当一个任务要访问临界资源时,就可以调用代码一给出的这两个函数。代码二给出了任务0的一个例子。
[代码二]
Enter_Critical_Section(0,1);
…使用这个资源…
Exit_Critical_Section(0,1);
…做其他事情…

[问题2]
代码一所示的方法能够实现共享资源的互斥访问吗请用300字以内文字举例说明。

阅读以下说明和C语言代码,回答问题1至问题4,将解答填入对应栏内。
[说明]
有两个任务(编号分别为0和1)需要访问同一个共享资源,为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个任务访问该共享资源。代码一给出了一种实现方法。
[代码一]
1: int flag[2]; / flag 数组,初始化为FALSE /
2: Enter_Critical_Section(int my_task_id, int other_task_id)
3: {
4: while (flag[other_task_id] == TRUE); / 空循环语句 /
5: flag[my_task_id] = TRUE;
6: }
7: Exit_Critical_Section(int my_task_id, int other_task_id)
8: {
9: flag[my_task_id] = FALSE;
10: }
当一个任务要访问临界资源时,就可以调用代码一给出的这两个函数。代码二给出了任务0的一个例子。
[代码二]
Enter_Critical_Section(0,1);
…使用这个资源…
Exit_Critical_Section(0,1);
…做其他事情…

手机使用
分享
复制链接
新浪微博
分享QQ
微信扫一扫
微信内点击右上角“…”即可分享
反馈
收藏 - 刷刷题收藏
举报
刷刷题
参考答案:
举一反三

【单选题】下面是对数组 s 的初始化,其中错误的语句是( )

A.
char s[5]= "abcdef";
B.
char s[5]={'a','b','c'};
C.
char s[5]=" ";
D.
char s[5]= {"abc"};
相关题目:
【单选题】下面是对数组 s 的初始化,其中错误的语句是( )
A.
char s[5]= "abcdef";
B.
char s[5]={'a','b','c'};
C.
char s[5]=" ";
D.
char s[5]= {"abc"};
刷刷题-刷题-导入试题 - 刷刷题
参考解析:
题目纠错 0
发布
刷刷题-刷题-导入试题 - 刷刷题刷刷题-刷题-导入试题 - 刷刷题刷刷题-刷题-导入试题 - 刷刷题
刷刷题-刷题-导入试题 - 刷刷题
刷刷题-刷题-导入试题 - 刷刷题
刷刷题-单词鸭