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

admin2012-03-21  38

问题 为了支持压栈线程与弹栈线程之间的交互与同步,在下画线处依次填入的语句是    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,等待该堆栈的锁以便运行。
转载请注明原文地址:https://kaotiyun.com/show/ao2p777K
0

最新回复(0)