首页 > 试题广场 >

实现一个数据结构,叫做BoundedBuffer,即初始化

[问答题]

实现一个数据结构,叫做BoundedBuffer,即初始化时传入一个参数来定义了Buffer的大小,然后有两个public方法,put方法用于存入一个元素,take方法用于取出一个元素,先进先出

(1) 实现存储整型的BoundedBuffer,无需线程安全,Buffer满或空时可以抛出异常

(2) 将(1)中的整型BoundedBuffer实现改为泛型

(3)实现线程安全的BoundedBuffer,同时put和take如遇到buffer满或空的情况,需要block住调用线程,直到buffer中有空间或者有新数据

(4)给(3)的BoundedBuffer提供带超时的put或take方法,即调用者可以指定超时时间,如果在指定时间内依旧没有空间或没有新数据,则抛出异常

解答要求:请使用熟悉的语言或伪代码,底层存储只能使用数组或链表


这道题你会答吗?花几分钟告诉大家答案吧!