为了支持压栈线程与弹栈线程之间的交互与同步,应在下画线处填入的选项是( )。A.this.notify( )B.interrupt( )C.this.wait( )D.sleep( )

题目

为了支持压栈线程与弹栈线程之间的交互与同步,应在下画线处填入的选项是( )。

A.this.notify( )

B.interrupt( )

C.this.wait( )

D.sleep( )

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

第1题:

( 31 ) 为了支持压栈线程与弹栈线程之间的交互与同步 , 在程序的下划线处依次填入的语句是

public class IntStack{

private int idx=0;

private int[] data=new int[8];

public void push(int i){

data[idx]=i;

idx++;

}

__________

......

}

A ) synchronized()

notify()

B ) synchronized()

this.wait()

C ) synchronized()

this.notify()

D ) synchronized()

sleep()


正确答案:B

第2题:

为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是( )。 public class IntStack{ private int idx=0; private int[]data=new int[8]; public void push(int i){ data[idx]=i: idx++; … … }

A.synchronized notify

B.synchronized this.wait

C.synchronized this.notify

D.Serializable sleep


正确答案:B
B。【解析】在Synchronized块中等待共享数据的状态改变时调用wait方法,这样该线程等待并暂时释放共享数据对象的锁。

第3题:

为了支持压栈线程与弹栈线程之间的交互与同步,应在下画线处填入的选项是( )。 public class StackTest{ private int idx=0; private int[]data=new int[8] public void push(int i){ synchronized(this)( ; data(idx)=i: idx++: } } }… …

A.this.notify

B.interrupt

C.this.wait

D.sleep


正确答案:A
A。【解析】当一个线程使用的同步方法中用到某个变量,而此时有需要其他线程修改后才能符合本线程的需要,那么可以使用wait方法,wait方法的作用是使本线程等待,并允许其他线程使用此同步方法。当其他线程使用完后应使用notify或者notifyAll方法允许其他线程使用此同步方法。Interrupt方法的作用是在run方法执行完之前就消灭此线程,而sleep方法的作用是延迟一段时间后执行。所以本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。

第4题:

为了支持压栈线程与弹栈线程之间的交互与同步,应 在下画线处填入的选项是( )。 public class StackTest{ private int idx=0; private int[]data=new int[8] public void push(int i){ synchronized(this){ ; data(idx)=i: idx++: } } }……

A.this.notify

B.interrupt

C.this.wait

D.sleep


正确答案:A
A。【解析】当一个线程使用的同步方法中用到某个变量,而且需要其他线程修改此变量后才能复合本线程的需要,那么可以使用wait方法。wait方法的作用是使本线程等待,并允许其他线程使用此同步方法。当其他线程使用完后应使用notify或者notifyAll方法允许其他线程使用此同步方法。Interrupt方法的作用是在run方法执行完之前就消灭此线程,而sleep方法的作用是延迟一段时间后执行。因为本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。

第5题:

为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是( )。

A.synchronized( )

B. notify( )

C.synchronized this.wait( )

D.svnchronized this.notify( )

E.Serializable sleep( )


正确答案:B
在Synchronized块中等待共享数据的状态改变时调用wait()方法,这样该线程等待并暂时释放共享数据对象的锁。

第6题:

为了支持压栈线程与弹栈线程之间的交互与同步,在下画线处依次填入的语句是 public class IntStack { private int idx=0; private int[]data=new int[8]; public ______ void push(int i) { data[idx]=i; idx++; ______ } … }

A.synchronized() notify()

B.synchronized() this.wait()

C.synchronized() this.notify()

D.synchronized() sleep()


正确答案:C
解析:一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在Java语言中,临界区可以是一个语句块或是一个方法,并且用synchronized关键字标识。本程序中push()方法即为临界区,所以需要用synchronized关键字标识。this.notify()把当前堆栈对象的wait pool中的一个线程释放到lock pool,等待该堆栈的锁以便运行。

第7题:

阅读下面一个支持多线程并发操作的堆栈类代码 public class MyStack { private int idx=0; private int[] data=new int[8]; public ______ Void push(int i) { data[idx]=i; idx++; } … } 在下画线处应填入的是

A.synchronized

B.wait

C.blocked

D.interrupt


正确答案:A
解析:一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在Java语言中,临界区可以是一个语句块或是一个方法,并且用synchronized关键字标识。本程序中push()方法即为临界区,所以需要用synchronized关键字标识。

第8题:

为了支持压栈线程与弹栈线程之间的交互与同步,应在下划线处填入的选项是

pubIis class StackTest{

private int idx=0;

private int[]data=new int[8];

public void push(int i){

synchronized(this){

______;

data[idx]=i;

idx++;

}

}

……

}

A.this.notify()

B.interrupt()

C.this .wait()

D.sleep()


正确答案:D

第9题:

为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下划线处依次填入的语句是( )。 publicclass IntStack{ privateintidx=O; privateint[]data=newint[8]; public______voidpush(inti){ data[idx]=i; idx++; }

A.synchronized()

B.synchronized notify() this.wait()

C.synchronized

D.Serializable this.notify() sleep()


正确答案:B
解析:在Synchronized块中等待共享数据的状态改变时调用wait()方法,这样该线程等待并暂时释放共享数据对象的锁。