1.Deque
双向队列。可以实现Queue和Stack的功能。每个方法有两种形式,一种是在发生错误返回一个值(如null或false),一种是发生错误抛出异常,如下图所示,
实现Queue(FIFO)功能
实现Stack(LIFO)功能
2.SortedSet
E first();获得最小元素
E last();获得最大元素
SortedSet<E> headSet(E toElement);获得比toElemen小的所有元素
SortedSet<E> tailSet(E fromElement);获得所有大于等于fromElement的元素
SortedSet<E> subSet(E fromElement,E toElement);.获得所有大于等于fromElement而小于toElement的元素
3. Semaphore
该类通常是最为一个限制资源访问的记数的变量。
acquire()可以去请求获得资源,若没有可用资源就阻塞,该线程interrupted会取消阻塞
|
|
acquire(int permits)
acquireUninterrubtily()可以去请求获得资源,若没有可用资源就阻塞,该线程interrupted也不会取消阻塞
tryAcquire()尝试获得资源。没有也不会阻塞
tryAcquire(int permits)尝试获得permits个资源,没有不阻塞
release()释放一个资源,这时会释放一个正在阻塞的资源获取者。
release(int permits)释放permits个资源
hasQueuedThreads()是否有线程等待获取资源