JavaTM 2 Platform
Standard Ed. 6

類別 java.util.concurrent.TimeUnit
的使用

使用 TimeUnit 的軟體套件
java.util.concurrent 在共時程式中很常用的實用工具類別。 
java.util.concurrent.locks 為鎖和等待條件提供一個框架的介面和類別,它不同於內置同步和監視器。 
javax.swing 提供一組“輕量級”(全部是 Java 語言)元件,盡量讓這些元件在所有平臺上的工作方式都相同。 
 

java.util.concurrentTimeUnit 的使用
 

返回 TimeUnitjava.util.concurrent 中的方法
static TimeUnit TimeUnit.valueOf(String name)
          返回帶有指定名稱的該型別的列舉常數。
static TimeUnit[] TimeUnit.values()
          Returns an array containing the constants of this enum type, in the order they are declared.
 

參數型別為 TimeUnitjava.util.concurrent 中的方法
 boolean CountDownLatch.await(long timeout, TimeUnit unit)
          使當前執行緒在鎖存器倒計數至零之前一直等待,除非執行緒被中斷或超出了指定的等待時間。
 int CyclicBarrier.await(long timeout, TimeUnit unit)
          在所有參與者都已經在此屏障上調用 await 方法之前將一直等待,或者超出了指定的等待時間。
 boolean ExecutorService.awaitTermination(long timeout, TimeUnit unit)
          請求關閉、發生逾時或者當前執行緒中斷,無論哪一個首先發生之後,都將導致阻塞,直到所有任務完成執行。
 boolean ThreadPoolExecutor.awaitTermination(long timeout, TimeUnit unit)
           
 long TimeUnit.convert(long sourceDuration, TimeUnit sourceUnit)
          將給定單元的時間段轉換到此單元。
 V Exchanger.exchange(V x, long timeout, TimeUnit unit)
          等待另一個執行緒到達此交換點(除非當前執行緒被中斷,或者超出了指定的等待時間),然後將給定的物件傳送給該執行緒,同時接收該執行緒的物件。
 V Future.get(long timeout, TimeUnit unit)
          如有必要,最多等待為使計算完成所給定的時間之後,獲取其結果(如果結果可用)。
 V FutureTask.get(long timeout, TimeUnit unit)
           
 long Delayed.getDelay(TimeUnit unit)
          返回與此物件相關的剩餘延遲時間,以給定的時間單位表示。
 long ThreadPoolExecutor.getKeepAliveTime(TimeUnit unit)
          返回執行緒保持活動的時間,該時間就是超過核心池大小的執行緒可以在終止前保持空閒的時間值。
<T> List<Future<T>>
AbstractExecutorService.invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
           
<T> List<Future<T>>
ExecutorService.invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
          執行給定的任務,當所有任務完成或逾時期滿時(無論哪個首先發生),返回保持任務狀態和結果的 Future 列表。
<T> T
AbstractExecutorService.invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
           
<T> T
ExecutorService.invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)
          執行給定的任務,如果在給定的逾時期滿前某個任務已成功完成(也就是未拋出異常),則返回其結果。
 boolean ArrayBlockingQueue.offer(E e, long timeout, TimeUnit unit)
          將指定的元素插入此佇列的尾部,如果該佇列已滿,則在到達指定的等待時間之前等待可用的空間。
 boolean BlockingDeque.offer(E e, long timeout, TimeUnit unit)
          將指定的元素插入此雙端佇列表示的佇列中(即此雙端佇列的尾部),必要時將在指定的等待時間內一直等待可用空間。
 boolean BlockingQueue.offer(E e, long timeout, TimeUnit unit)
          將指定元素插入此佇列中,在到達指定的等待時間前等待可用的空間(如果有必要)。
 boolean DelayQueue.offer(E e, long timeout, TimeUnit unit)
          將指定元素插入此延遲佇列中。
 boolean LinkedBlockingDeque.offer(E e, long timeout, TimeUnit unit)
           
 boolean LinkedBlockingQueue.offer(E e, long timeout, TimeUnit unit)
          將指定元素插入到此佇列的尾部,如有必要,則等待指定的時間以使空間變得可用。
 boolean PriorityBlockingQueue.offer(E e, long timeout, TimeUnit unit)
          將指定元素插入此優先級佇列。
 boolean SynchronousQueue.offer(E o, long timeout, TimeUnit unit)
          將指定元素插入到此佇列,如有必要則等待指定的時間,以便另一個執行緒接收它。
 boolean BlockingDeque.offerFirst(E e, long timeout, TimeUnit unit)
          將指定的元素插入此雙端佇列的開頭,必要時將在指定的等待時間內等待可用空間。
 boolean LinkedBlockingDeque.offerFirst(E e, long timeout, TimeUnit unit)
           
 boolean BlockingDeque.offerLast(E e, long timeout, TimeUnit unit)
          將指定的元素插入此雙端佇列的末尾,必要時將在指定的等待時間內等待可用空間。
 boolean LinkedBlockingDeque.offerLast(E e, long timeout, TimeUnit unit)
           
 E ArrayBlockingQueue.poll(long timeout, TimeUnit unit)
           
 E BlockingDeque.poll(long timeout, TimeUnit unit)
          獲取並移除此雙端佇列表示的佇列的頭部(即此雙端佇列的第一個元素),如有必要將在指定的等待時間內等待可用元素。
 E BlockingQueue.poll(long timeout, TimeUnit unit)
          獲取並移除此佇列的頭部,在指定的等待時間前等待可用的元素(如果有必要)。
 Future<V> CompletionService.poll(long timeout, TimeUnit unit)
          獲取並移除表示下一個已完成任務的 Future,如果目前不存在這樣的任務,則將等待指定的時間(如果有必要)。
 E DelayQueue.poll(long timeout, TimeUnit unit)
          獲取並移除此佇列的頭部,在可從此佇列獲得到期延遲的元素,或者到達指定的等待時間之前一直等待(如有必要)。
 Future<V> ExecutorCompletionService.poll(long timeout, TimeUnit unit)
           
 E LinkedBlockingDeque.poll(long timeout, TimeUnit unit)
           
 E LinkedBlockingQueue.poll(long timeout, TimeUnit unit)
           
 E PriorityBlockingQueue.poll(long timeout, TimeUnit unit)
           
 E SynchronousQueue.poll(long timeout, TimeUnit unit)
          獲取並移除此佇列的頭,如有必要則等待指定的時間,以便另一個執行緒插入它。
 E BlockingDeque.pollFirst(long timeout, TimeUnit unit)
          獲取並移除此雙端佇列的第一個元素,必要時將在指定的等待時間等待可用元素。
 E LinkedBlockingDeque.pollFirst(long timeout, TimeUnit unit)
           
 E BlockingDeque.pollLast(long timeout, TimeUnit unit)
          獲取並移除此雙端佇列的最後一個元素,必要時將在指定的等待時間內等待可用元素。
 E LinkedBlockingDeque.pollLast(long timeout, TimeUnit unit)
           
<V> ScheduledFuture<V>
ScheduledExecutorService.schedule(Callable<V> callable, long delay, TimeUnit unit)
          創建並執行在給定延遲後啟用的 ScheduledFuture。
<V> ScheduledFuture<V>
ScheduledThreadPoolExecutor.schedule(Callable<V> callable, long delay, TimeUnit unit)
           
 ScheduledFuture<?> ScheduledExecutorService.schedule(Runnable command, long delay, TimeUnit unit)
          創建並執行在給定延遲後啟用的一次性操作。
 ScheduledFuture<?> ScheduledThreadPoolExecutor.schedule(Runnable command, long delay, TimeUnit unit)
           
 ScheduledFuture<?> ScheduledExecutorService.scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
          創建並執行一個在給定初始延遲後首次啟用的定期操作,後續操作具有給定的週期;也就是將在 initialDelay 後開始執行,然後在 initialDelay+period 後執行,接著在 initialDelay + 2 * period 後執行,依此類別推。
 ScheduledFuture<?> ScheduledThreadPoolExecutor.scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
           
 ScheduledFuture<?> ScheduledExecutorService.scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
          創建並執行一個在給定初始延遲後首次啟用的定期操作,隨後,在每一次執行終止和下一次執行開始之間都存在給定的延遲。
 ScheduledFuture<?> ScheduledThreadPoolExecutor.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)
          如果在給定的等待時間內,此信號量有可用的許可並且當前執行緒未被中斷,則從此信號量獲取一個許可。
 

參數型別為 TimeUnitjava.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.locksTimeUnit 的使用
 

參數型別為 TimeUnitjava.util.concurrent.locks 中的方法
 boolean AbstractQueuedLongSynchronizer.ConditionObject.await(long time, TimeUnit unit)
          實作定時條件等待。
 boolean Condition.await(long time, TimeUnit unit)
          造成當前執行緒在接到信號、被中斷或到達指定等待時間之前一直處於等待狀態。
 boolean AbstractQueuedSynchronizer.ConditionObject.await(long time, TimeUnit unit)
          實作定時的條件等待。
 boolean ReentrantReadWriteLock.ReadLock.tryLock(long timeout, TimeUnit unit)
          如果另一個執行緒在給定的等待時間內沒有保持寫入鎖,並且當前執行緒未被中斷,則獲取讀取鎖。
 boolean ReentrantReadWriteLock.WriteLock.tryLock(long timeout, TimeUnit unit)
          如果另一個執行緒在給定的等待時間內沒有保持寫入鎖,並且當前執行緒未被中斷,則獲取寫入鎖。
 boolean ReentrantLock.tryLock(long timeout, TimeUnit unit)
          如果鎖在給定等待時間內沒有被另一個執行緒保持,且當前執行緒未被中斷,則獲取該鎖。
 boolean Lock.tryLock(long time, TimeUnit unit)
          如果鎖在給定的等待時間內空閒,並且當前執行緒未被中斷,則獲取鎖。
 

javax.swingTimeUnit 的使用
 

參數型別為 TimeUnitjavax.swing 中的方法
 T SwingWorker.get(long timeout, TimeUnit unit)
          如有必要,最多等待為使計算完成所給定的時間之後,獲取其結果(如果結果可用)。
 


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only