单选题有若干并发进程均将一个共享变量count中的值加1一次,那么有关count中的值说法正确的是:()A 肯定有不正确的结果B 肯定有正确的结果C 若控制这些并发进程互斥执行count加1操作,count中的值正确D A,B,C均不对

题目
单选题
有若干并发进程均将一个共享变量count中的值加1一次,那么有关count中的值说法正确的是:()
A

肯定有不正确的结果

B

肯定有正确的结果

C

若控制这些并发进程互斥执行count加1操作,count中的值正确

D

A,B,C均不对

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

编译如下的Java程序片段:Classtest{Intcount=9;Publicvoida(){Intcount=10;System.out,println(count1=”+count);}Publicvoidcount(){System.out.println(count2=”+count);}Publicstaticvoidmain(Stringargs[]){Testt=newTest();t.a();t.count();}}结果是()

A.不能通过编译

B.输出:count1=10count2=9

C.输出:count1=9count2=9


参考答案:B

第2题:

读者写者问题的解决方案如下所示。

Begin

————①————;

read_count:=read_count+1;

if read_count=1

then P(wnte);

————②————;

读文件;

————③————;

read—count:=read—count—1;

if read—count=O

then V(write);

————④————;

End

假设信号量.mutex表示对read—count共享变量所关注的互斥区进行互斥,那么,①、②、③和④处应该填写的语句是

A.P(mutex)、P(mutex)、V(mutex)、V(mutex)

B.P(mutex)、V(mutex)、P(mutex)、V(mutex)

C.V(mutex)、V(mutex)、P(mutex)、P(mutex)

D.V(mutex)、P(mutex)、V(rnutex)、P(mutex)


正确答案:B
解析:①③处需要申请进入互斥区对read_count变量进行操作;②④处退出对read—count变量进行操作的互斥区。所以正确答案为

第3题:

count与count(*)的区别是()。

A.无区别

B.count是聚合函数,count(*)不是聚合函数

C.count统计空格而COUNT(×)不统计

D.count(*)统计NULL值,而COUNT不统计


参考答案:D

第4题:

有以下程序:include using namespace std;class count{ static int n;public: count

有以下程序: #include <iostream> using namespace std; class count { static int n; public: count ( ) { n++; } static int test() { for (int i = 0; i < 4; i++ ) n++; return n; } }; int count :: n = 0; int main() { cout<<count :: test()<<" "; count c1, c2; cout<<count :: test()<<end1; return 0; } 执行后的输出结果是( )。

A.4 10

B.1 2

C.22

D.24


正确答案:A
解析:程序首先定义了类count,其内部含有private类型数据成员“staticintn;”,同时含有public类型构造函数count()和静态成员函数staticinttest(),这两个函数的功能分别是为对象申请系统资源并将静态数据成员n加1和将静态数据成员n加4。主函数前,程序将静态数据成员n初始化为0,该数据成员为所有类count的对象所共有的数据成员。主函数中,程序首先执行静态成员函数test()(由于test声明为static,因此其调用时无需通过具体对象)。而其执行过程中,静态数据成员n应该加4变成n=4,因此此处输出为4。此后程序创建对象c1和c2,由于在每次创建过程中都要调用构造函数count(),而每次调用count()函数后,静态数据成员n值都会加1,因此,创建两个对象之后,n值变为n=6;再次执行test()函数后,n的值再次加4,此时变为n=6+4=10。故程序全部执行后,变量n值变为10,而中间程序输出为“410”。

第5题:

下面程序的正确输出是( )。 Publicclasshello { Publicstaticvoidmain(Stringargs[]) { Intcount,xPos=25; For(count=1;count<=10;count++) { IRcount==5) Break; System.out.println(count); xPos+=10; } } }

A.1 2 34

B.1 34

C.编译错误

D.以上都不正确


正确答案:A
解析: 该程序经过编译、运行后,在屏幕上显示:1 2 3 4。publicclassHello中Hello为类名,publicstaticvoidmain(String argsm有关参数的解释如下。public表示该方法可以被任意代码所调用,包括Java解释器。static它告诉编译器,main()方法是一个类方法,可以通过类名直接调用,调用时不需要该类的实例对象。void表示main()方法没有返回值。这是非常重要的。因为 Java类型检查非常严格,包括检查这些方法返回值的类型是否与声明的一致。String args[]声明一个字符串类型的数组,它是命令行传递给main()方法的参数,参数在命令行中出现在类名称后面。包含main()方法的类(Hello为包含main()方法的类名)名称必须与其文件名相同,也就是说,其文件名必须为Hello.iava。经过编译,在当前文件夹下将出现一个Hello.class文件,这就足编译后的字节码文件。在程序段最后有两个人括号,分别说明结束main()方法和Hello类。在本程序中由厂有count==5这个条件判断,因此当count==5时,程序结束,输出为1 234。

第6题:

在Excel 2003中,函数count(1,"1",TRUE)的值为()

A:1

B:

C:1

D:4


答案:C

第7题:

已知二叉树T的结点形式为(lling,data,count,rlink),在树中查找值为X的结点,若找到,则记数(count)加1,否则,作为一个新结点插入树中,插入后仍为二叉排序树,写出其非递归算法。


参考答案:
  [算法描述]
  void SearchBST(BiTree &T,int target){
  BiTree s,q,f; //以数据值target,新建结点s
  s=new BiTNode;
  s->data.x=target;
  s->data.count=0;
  s->lchild=s->rchild=NULL;
  if(!T){
  T=s;
  return ;
  } //如果该树为空则跳出该函数
  f=NULL;
  q=T;
  while (q){
  if (q->data.x==target){
  q->data.count++;
  return ;
  } //如果找到该值则计数加一
  f=q;
  if (q->data.x>target) //如果查找值比目标值大,则为该树左孩子
  q=q->lchild;
  else //否则为右孩子
  q=q->rchild;
  } //将新结点插入树中
  if(f->data.x>target)
  f->lchild=s;
  else
  f->rchild=s;
  }

第8题:

编译如下Java程序片断:classtest{intcount=9;publicvoida(){intcount=10;System.out.println(&qu

编译如下Java程序片断:classtest{intcount=9;publicvoida(){intcount=10;System.out.println("count1="+count);}publicvoidcount(){System.out.println("count2="+count);}publicstaticvoidmain(Stringargs[]){testt=newtest();t.a();t.count();}}结果将()。

A.不能通过编译

B.输出: count1=10 count2=9

C.输出:count1=9 count2=9


参考答案:B

第9题:

有关类Demo,哪句描述是正确的( )?public class Demo extends Base{private int count;public Demo(){ System.out.println("A Demo object has been created");} protected void addOne() {count++; }}

A.当创建一个Demo类的实例对象时,count的值为0。

B.当创建一个Demo类的实例对象时,count的值是不确定的。

C.超类对象中可以包含改变count 值的方法。

D.Demo的子类对象可以访问count。


正确答案:A

第10题:

下面程序的正确输出是( )。 public class Hello { public static void main(String args[]) { int count,xPos=25; for(count=1;count<=10;count++) { if(count= =5) Break; system.Out.println(count); xPos+=10: } } }

A.1 2 3 4

B.1 3 4

C.编译错误

D.以上都不正确


正确答案:A
A。【解析】该程序经过编译、运行后,在屏幕上显示:l234。publicclassHello中Hello为类名,publicstaticvoidmain(Stringargs[])有关参数的解释如下:public表示该方法可以被任意代码所调用,包括Java解释器;static告诉编译器,main方法是一个类方法,可以通过类名直接调用,调用时不需要该类的实例对象;void表示main方法没有返回值,这是非常重要的,因为Java类型检查非常严格,包括检查这些方法返回值的类型是否与声明的一致;Stringargs[]声明一个字符串类型的数组,它是命令行传递给main方法的参数,参数在命令行中出现在类名称后面。包含main方法的类(Hello为包含main方法的类名)名称必须与其文件名相同,也就是说,其文件名必须为Hello.java。经过编译,在当前文件夹下将出现一个Hello.class文件,这就是编译后的字节码文件。在程序段最后有两个大括号,分别说明结束main方法和Hello类。在本程序中由于有count==5这个条件判断,因此当count==5时,程序结束,输出为1234。

更多相关问题