當前位置: 首頁>>代碼示例>>Java>>正文


Java BlockingQueue.addAll方法代碼示例

本文整理匯總了Java中java.util.concurrent.BlockingQueue.addAll方法的典型用法代碼示例。如果您正苦於以下問題:Java BlockingQueue.addAll方法的具體用法?Java BlockingQueue.addAll怎麽用?Java BlockingQueue.addAll使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.util.concurrent.BlockingQueue的用法示例。


在下文中一共展示了BlockingQueue.addAll方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: computeProfiles

import java.util.concurrent.BlockingQueue; //導入方法依賴的package包/類
private void computeProfiles( List<MegaFacade> mfs ) {
	
	BlockingQueue<MegaFacade> togo = new ArrayBlockingQueue<>( mfs.size() ); // todo: replace with PArallel
	
	togo.addAll( mfs );
	
	int tCount = Runtime.getRuntime().availableProcessors();
	
	CountDownLatch cdl = new CountDownLatch( tCount );
	
	for (int i = 0; i < tCount; i ++ ) {
		new Thread() {
			
			@Override
			public void run() {
				
				try {
				while (true)  {
					MegaFacade mf = togo.poll();
					
					System.out.println("megafacades remaining: "+togo.size());
					
					if (mf == null)
						return;
					mf.computeProfiles( ProfileGen.this );
				}
				}
				finally {
					cdl.countDown();
				}
			}
		}.start();
	}
	
	try {
		cdl.await();
		System.out.println("megafacades found");
	} catch ( InterruptedException e ) {
		e.printStackTrace();
	}
}
 
開發者ID:twak,項目名稱:chordatlas,代碼行數:42,代碼來源:ProfileGen.java


注:本文中的java.util.concurrent.BlockingQueue.addAll方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。