【C代码1】所示的方法(1)实现共享资源的互斥访问。 (1)A.能够B.不能
【C代码1】所示的方法(1)实现共享资源的互斥访问。
(1) A.能够 B.不能
【C代码1】所示的方法(1)实现共享资源的互斥访问。
(1) A.能够 B.不能
阅读以下技术说明和C语言代码,根据要求回答问题1至问题6。
【说明】
有两个进程(编号分别为0和1)需要访问同一个共享资源。为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个进程访问该共享资源。以下【C代码1】给出了一种实现方法。
【C代码1】
int flag[2]; /+flag数组,初始化为FALSE*/
Enter_Critical_Section(int my_task_id, int other_task_id)
{ while (flag[other_task_id]==TRUE); /*空循环语句*/
flag[my_task_id]=TRUE;
}
Exit_Critical_Section(int my_task_id, int other_task_id)
{ flag[my_task_id]=FALSE;
}
当一个进程要访问临界资源时,就可以调用【C代码1】给出的这两个函数。【C代码2】给出了进程0的一个例子。
【C代码2】
Enter_Critical_Section(0,1);
……使用这个资源……
Exit_Critical_Section(0,1);
……做其他的事情……
什么是临界资源(critical resource)?请用100字以内的文字简要说明。
阅读以下说明和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);
…做其他事情…
什么是临界资源(critical resource)?请用100字以内文字简要说明。
实现一个简单的银行账户管理系统,如下图所示。1、程序功能如下: (1)当点击【创建储蓄卡账户】时,显示如下信息:其中卡号为随机生成的一个在100000到499999之间的一个值。(2)当点击【存款】,并在后面的文本框中输入存款金额。显示如下信息。(3)当点击【取款】,并在后面的文本框中输入取款金额。显示如下信息。(4)当点击【查询账户余额】。显示如下信息。(5)注意:在操作时要给出操作失败的提示及其原因。如下图:2. 程序的主体部份已经做好,请参见附件——Bank。 3. 请在Bank的代码视图中完成任务1:创建一个账户类,设计其成员变量和方法。 (1)主要的成员变量有卡号和余额,。 (2)主要的方法包括取款和存款以及对卡号和余额的获取。 (3)用构造函数对卡号和余额初始化,要求在构造函数中对卡号为随机生成的一个在100000到499999之间的一个值,余额统一定为0元。 4. 请在Bank的代码视图中完成任务2到任务5:实现系统功能。请在程序的相应位置写上适当的代码。 (1)任务2:实例化储蓄卡用户账户(new)。 (2)任务3:将accountNo赋值为创建的账户卡号。 (3)任务4:调用Account类的取款方法,并将取款结果赋值给message (4)任务5:调用Account类的存款方法,并将存款结果赋值给message (5)任务6:调用Account类的获取卡号和余额方法,并将账户卡号和余额赋值给message
在考生文件夹下有一个“Acc3.mdb”数据库。
(1)以“客户基本情况表”表为数据源,创建“按照窗体客户代码查询”的功能查询,查询与“销售明细”窗体中客户代码相同的客户信息。结果显示“客户基本情况表”表的全部字段。查询结果如图3所示。
(2)在“销售明细”窗体中添加“房源信息”和“客户信息”按钮,分别实现运行“按照窗体房源代码查询”和“按照窗体客户代码查询”查询。查询结果如图4所示。
…
k+20
z+16
y+12
x+8
+4
←ebp
1movl8(%ebp),%eax;注释_______________________________
2movl%eax,%edx
3sall$2,%eax;注释_______________________________
4addl%edx,%eax;注释_______________________________
5sarl$1,%eax
6movl12(%ebp),%ecx
7movswl20(%ebp),%edx;注释_______________________________
8imull%edx,%ecx;注释_______________________________
9subl%ecx,%eax;注释_______________________________
10movl16(%ebp),%ebx
11addl%ebx,%eax
设采用实现如教材48页代码2.21所示的二分查找binSearch()算法版本A,针对独立均匀分布于[0,2n]内的整数目标,在固定的有序向量(1,3,5,...,2n-1)中查找。
a)若将平均的成功和失败查找长度分别记作S和F,试证明:(S+1)•n=F•(n+1);
b)上述结论,是否适用于binSearch()算法的其它版本?为什么?
c)上述结论,是否适用于fibSearch()算法的各个版本?为什么?
d)若待查找的整数按照其它的随机规律分布,以上结论又应如何调整?
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!