|
|||||||||
类 java.util.concurrent.TimeUnit
的使用
使用 TimeUnit 的软件包 | |
---|---|
java.util.concurrent | 在并发编程中很常用的实用工具类。 |
java.util.concurrent.locks | 为锁定和等待条件提供一个框架的接口和类,它不同于内置同步和监视器。 |
java.util.concurrent 中 TimeUnit 的使用 |
---|
返回 TimeUnit 的 java.util.concurrent 中的方法 | |
---|---|
static TimeUnit |
TimeUnit.valueOf(String name) 返回带有指定名称的该类型的枚举常量。 |
static TimeUnit[] |
TimeUnit.values() 按照声明该枚举类型的常量的顺序,返回 包含这些常量的数组。 |
参数类型为 TimeUnit 的 java.util.concurrent 中的方法 | ||
---|---|---|
int |
CyclicBarrier.await(long timeout, TimeUnit unit) 在所有 参与者 都已经在此屏障上调用 await 方法之前,将一直等待。 |
|
boolean |
CountDownLatch.await(long timeout, TimeUnit unit) 使当前线程在锁存器倒计数至零之前一直等待,除非线程被 中断 或超出了指定的等待时间。 |
|
boolean |
ThreadPoolExecutor.awaitTermination(long timeout, TimeUnit unit) |
|
boolean |
ExecutorService.awaitTermination(long timeout, TimeUnit unit) 请求关闭、发生超时或者当前线程中断,无论哪一个首先发生之后,都将导致阻塞,直到所有任务完成执行。 |
|
long |
TimeUnit.convert(long duration, TimeUnit unit) 将给定单元的时间段转换到此单元。 |
|
V |
Exchanger.exchange(V x, long timeout, TimeUnit unit) 等待另一个线程到达此交换点(除非它被 中断 ,或者超出了指定的等待时间),然后将给定的对象传送给该线程,同时接收该线程的对象。 |
|
V |
FutureTask.get(long timeout, TimeUnit unit) |
|
V |
Future.get(long timeout, TimeUnit unit) 如有必要,最多等待为使计算完成所给定的时间之后,检索其结果(如果结果可用)。 |
|
long |
Delayed.getDelay(TimeUnit unit) 返回与此对象相关的剩余延迟时间,以给定的时间单位表示。 |
|
long |
ThreadPoolExecutor.getKeepAliveTime(TimeUnit unit) 返回线程保持活动的时间,该时间就是超过核心池大小的线程可以在终止前保持空闲的时间值。 |
|
|
ExecutorService.invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) 执行给定的任务,当所有任务完成或超时期满时(无论哪个首先发生),返回保持任务状态和结果的 Future 列表。 |
|
|
AbstractExecutorService.invokeAll(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) |
|
|
ExecutorService.invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) 执行给定的任务,如果在给定的超时期满前某个任务已成功完成(也就是未抛出异常),则返回其结果。 |
|
|
AbstractExecutorService.invokeAny(Collection<Callable<T>> tasks, long timeout, TimeUnit unit) |
|
boolean |
SynchronousQueue.offer(E o, long timeout, TimeUnit unit) 将指定的元素插入到此队列,如有必要则等待指定的时间,以便另一个线程接收它。 |
|
boolean |
PriorityBlockingQueue.offer(E o, long timeout, TimeUnit unit) 将指定的元素插入到优先级队列中。 |
|
boolean |
LinkedBlockingQueue.offer(E o, long timeout, TimeUnit unit) 在队列尾插入指定的元素,如有必要,则等待指定的时间以使空间变得可用。 |
|
boolean |
DelayQueue.offer(E o, long timeout, TimeUnit unit) 将指定元素插入到此延迟队列中。 |
|
boolean |
BlockingQueue.offer(E o, long timeout, TimeUnit unit) 将指定的元素插入此队列中,如果没有可用空间,将等待指定的等待时间(如果有必要)。 |
|
boolean |
ArrayBlockingQueue.offer(E o, long timeout, TimeUnit unit) 将指定的元素插入到此队列的尾部,如果没有可用空间,将等待指定的等待时间(如果有必要)。 |
|
E |
SynchronousQueue.poll(long timeout, TimeUnit unit) 检索并移除此队列的头,如有必要则等待指定的时间,以便另一个线程插入它。 |
|
E |
PriorityBlockingQueue.poll(long timeout, TimeUnit unit) |
|
E |
LinkedBlockingQueue.poll(long timeout, TimeUnit unit) |
|
Future<V> |
ExecutorCompletionService.poll(long timeout, TimeUnit unit) |
|
E |
DelayQueue.poll(long timeout, TimeUnit unit) 检索并移除此队列的头部,如果此队列不存在未到期延迟的元素,则在到达指定的等待时间之前,一直等待(如果有必要)。 |
|
Future<V> |
CompletionService.poll(long timeout, TimeUnit unit) 检索并移除表示下一个已完成任务的 Future,如果目前不存在这样的任务,则将等待指定的时间(如果有必要)。 |
|
E |
BlockingQueue.poll(long timeout, TimeUnit unit) 检索并移除此队列的头部,如果此队列中没有任何元素,则等待指定等待的时间(如果有必要)。 |
|
E |
ArrayBlockingQueue.poll(long timeout, TimeUnit unit) |
|
|
ScheduledThreadPoolExecutor.schedule(Callable<V> callable, long delay, TimeUnit unit) |
|
|
ScheduledExecutorService.schedule(Callable<V> callable, long delay, TimeUnit unit) 创建并执行在给定延迟后启用的 ScheduledFuture。 |
|
ScheduledFuture<?> |
ScheduledThreadPoolExecutor.schedule(Runnable command, long delay, TimeUnit unit) |
|
ScheduledFuture<?> |
ScheduledExecutorService.schedule(Runnable command, long delay, TimeUnit unit) 创建并执行在给定延迟后启用的一次性操作。 |
|
ScheduledFuture<?> |
ScheduledThreadPoolExecutor.scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) |
|
ScheduledFuture<?> |
ScheduledExecutorService.scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) 创建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialDelay 后开始执行,然后在 initialDelay+period 后执行,接着在 initialDelay + 2 * period 后执行,依此类推。 |
|
ScheduledFuture<?> |
ScheduledThreadPoolExecutor.scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) |
|
ScheduledFuture<?> |
ScheduledExecutorService.scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit) 创建并执行一个在给定初始延迟后首次启用的定期操作,随后,在每一次执行终止和下一次执行开始之间都存在给定的延迟。 |
|
void |
ThreadPoolExecutor.setKeepAliveTime(long time, TimeUnit unit) 设置线程在终止前可以保持空闲的时间限制。 |
|
boolean |
Semaphore.tryAcquire(int permits, long timeout, TimeUnit unit) 如果在给定的等待时间内此信号量有可用的所有许可,并且当前线程未被 中断 ,则从此信号量获取给定数目的许可。 |
|
boolean |
Semaphore.tryAcquire(long timeout, TimeUnit unit) 如果在给定的等待时间内,此信号量有可用的许可并且当前线程未被 中断 ,则从此信号量获取一个许可。 |
参数类型为 TimeUnit 的 java.util.concurrent 中的构造方法 | |
---|---|
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) 用给定的初始参数和默认的线程工厂及处理程序创建新的 ThreadPoolExecutor。 |
|
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler) 用给定的初始参数创建新的 ThreadPoolExecutor。 |
|
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory) 用给定的初始参数创建新的 ThreadPoolExecutor。 |
|
ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecutionHandler handler) 用给定的初始参数创建新的 ThreadPoolExecutor。 |
java.util.concurrent.locks 中 TimeUnit 的使用 |
---|
参数类型为 TimeUnit 的 java.util.concurrent.locks 中的方法 | |
---|---|
boolean |
AbstractQueuedSynchronizer.ConditionObject.await(long time, TimeUnit unit) 实现定时的条件等待。 |
boolean |
Condition.await(long time, TimeUnit unit) 造成当前线程在接到信号、被中断或到达指定等待时间之前一直处于等待状态。 |
boolean |
Lock.tryLock(long time, TimeUnit unit) 如果锁定在给定的等待时间内空闲,并且当前线程未被 中断 ,则获取锁定。 |
boolean |
ReentrantLock.tryLock(long timeout, TimeUnit unit) 如果锁定在给定等待时间内没有被另一个线程保持,且当前线程未被 中断 ,则获取该锁定。 |
boolean |
ReentrantReadWriteLock.ReadLock.tryLock(long timeout, TimeUnit unit) 如果另一个线程在给定的等待时间内没有保持写入锁定,并且当前线程未被 中断 ,则获取读取锁定。 |
boolean |
ReentrantReadWriteLock.WriteLock.tryLock(long timeout, TimeUnit unit) 如果另一个线程在给定的等待时间内没有保持写入锁定,并且当前线程未被 中断 ,则获取写入锁定。 |
所有类
|
|||||||||