问题
单项选择题
为了支持压栈线程与弹栈线程之间的交互与同步,应在下画线处填入的选项是( )。
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
解析: 当一个线程使用的同步方法中用到的某个变量,而此时有需要其他线程修改后才能符合本线程的需要,那么可以使用walt()方法,wait()方法的作用是使本线程等待,并允许其他线程使用此同步方法。当其他线程使用完后应使用notify()或者notifyAll()方法允许其他线程使用此同步方法。Interrupt()方法的作用是在run()方法执行完之前就消灭此线程,而sleep()方法的作用是延迟一段时间后执行。所以本题是为了支持压栈线程与弹栈线程之间的交互与同步,所以选A。