List of usage examples for java.util.concurrent.atomic AtomicInteger AtomicInteger
public AtomicInteger()
From source file:Main.java
public static AtomicInteger newAtomicInteger() { AtomicInteger i = new AtomicInteger(); atomicCounterList.add(i); return i; }
From source file:Main.java
public static ThreadFactory threadFactory(final String alias) { return new ThreadFactory() { private final AtomicInteger threadCount = new AtomicInteger(); @Override//from w w w . j a va 2 s . co m public Thread newThread(Runnable r) { return new Thread(r, "Ehcache [" + alias + "]-" + threadCount.getAndIncrement()); } }; }
From source file:Main.java
public static ThreadFactory createThreadFactory(final String prefix) { return new ThreadFactory() { private AtomicInteger size = new AtomicInteger(); public Thread newThread(Runnable r) { Thread thread = new Thread(r); thread.setName(prefix + size.incrementAndGet()); if (thread.isDaemon()) { thread.setDaemon(false); }/*from w ww . j ava 2s.co m*/ return thread; } }; }
From source file:edu.msu.cme.rdp.kmer.KmerFilter.java
public static void main(String[] args) throws Exception { final KmerTrie kmerTrie; final SeqReader queryReader; final SequenceType querySeqType; final File queryFile; final KmerStartsWriter out; final boolean translQuery; final int wordSize; final int translTable; final boolean alignedSeqs; final List<String> refLabels = new ArrayList(); final int maxThreads; try {/* w w w . jav a 2s . c o m*/ CommandLine cmdLine = new PosixParser().parse(options, args); args = cmdLine.getArgs(); if (args.length < 3) { throw new Exception("Unexpected number of arguments"); } if (cmdLine.hasOption("out")) { out = new KmerStartsWriter(cmdLine.getOptionValue("out")); } else { out = new KmerStartsWriter(System.out); } if (cmdLine.hasOption("aligned")) { alignedSeqs = true; } else { alignedSeqs = false; } if (cmdLine.hasOption("transl-table")) { translTable = Integer.valueOf(cmdLine.getOptionValue("transl-table")); } else { translTable = 11; } if (cmdLine.hasOption("threads")) { maxThreads = Integer.valueOf(cmdLine.getOptionValue("threads")); } else { maxThreads = Runtime.getRuntime().availableProcessors(); } queryFile = new File(args[1]); wordSize = Integer.valueOf(args[0]); SequenceType refSeqType = null; querySeqType = SeqUtils.guessSequenceType(queryFile); queryReader = new SequenceReader(queryFile); if (querySeqType == SequenceType.Protein) { throw new Exception("Expected nucl query sequences"); } refSeqType = SeqUtils .guessSequenceType(new File(args[2].contains("=") ? args[2].split("=")[1] : args[2])); translQuery = refSeqType == SequenceType.Protein; if (translQuery && wordSize % 3 != 0) { throw new Exception("Word size must be a multiple of 3 for nucl ref seqs"); } int trieWordSize; if (translQuery) { trieWordSize = wordSize / 3; } else { trieWordSize = wordSize; } kmerTrie = new KmerTrie(trieWordSize, translQuery); for (int index = 2; index < args.length; index++) { String refName; String refFileName = args[index]; if (refFileName.contains("=")) { String[] lexemes = refFileName.split("="); refName = lexemes[0]; refFileName = lexemes[1]; } else { String tmpName = new File(refFileName).getName(); if (tmpName.contains(".")) { refName = tmpName.substring(0, tmpName.lastIndexOf(".")); } else { refName = tmpName; } } File refFile = new File(refFileName); if (refSeqType != SeqUtils.guessSequenceType(refFile)) { throw new Exception( "Reference file " + refFile + " contains " + SeqUtils.guessFileFormat(refFile) + " sequences but expected " + refSeqType + " sequences"); } SequenceReader seqReader = new SequenceReader(refFile); Sequence seq; while ((seq = seqReader.readNextSequence()) != null) { if (seq.getSeqName().startsWith("#")) { continue; } if (alignedSeqs) { kmerTrie.addModelSequence(seq, refLabels.size()); } else { kmerTrie.addSequence(seq, refLabels.size()); } } seqReader.close(); refLabels.add(refName); } } catch (Exception e) { new HelpFormatter().printHelp("KmerSearch <word_size> <query_file> [name=]<ref_file> ...", options); System.err.println(e.getMessage()); e.printStackTrace(); System.exit(1); throw new RuntimeException("Stupid jvm"); //While this will never get thrown it is required to make sure javac doesn't get confused about uninitialized variables } long startTime = System.currentTimeMillis(); long seqCount = 0; final int maxTasks = 25000; /* * if (args.length == 4) { maxThreads = Integer.valueOf(args[3]); } else { */ //} System.err.println("Starting kmer mapping at " + new Date()); System.err.println("* Number of threads: " + maxThreads); System.err.println("* References: " + refLabels); System.err.println("* Reads file: " + queryFile); System.err.println("* Kmer length: " + kmerTrie.getWordSize()); final AtomicInteger processed = new AtomicInteger(); final AtomicInteger outstandingTasks = new AtomicInteger(); ExecutorService service = Executors.newFixedThreadPool(maxThreads); Sequence querySeq; while ((querySeq = queryReader.readNextSequence()) != null) { seqCount++; String seqString = querySeq.getSeqString(); if (seqString.length() < 3) { System.err.println("Sequence " + querySeq.getSeqName() + "'s length is less than 3"); continue; } final Sequence threadSeq = querySeq; Runnable r = new Runnable() { public void run() { try { processSeq(threadSeq, refLabels, kmerTrie, out, wordSize, translQuery, translTable, false); processSeq(threadSeq, refLabels, kmerTrie, out, wordSize, translQuery, translTable, true); } catch (IOException e) { throw new RuntimeException(e); } processed.incrementAndGet(); outstandingTasks.decrementAndGet(); } }; outstandingTasks.incrementAndGet(); service.submit(r); while (outstandingTasks.get() >= maxTasks) ; if ((processed.get() + 1) % 1000000 == 0) { System.err.println("Processed " + processed + " sequences in " + (System.currentTimeMillis() - startTime) + " ms"); } } service.shutdown(); service.awaitTermination(1, TimeUnit.DAYS); System.err.println("Finished Processed " + processed + " sequences in " + (System.currentTimeMillis() - startTime) + " ms"); out.close(); }
From source file:org.zenoss.zep.dao.impl.DaoUtilsTest.java
@Test public void testDeadlockRetry() throws Exception { final AtomicInteger i = new AtomicInteger(); final int returnVal = new Random().nextInt(); int result = DaoUtils.deadlockRetry(new Callable<Integer>() { @Override/* w w w .j a va2 s .c om*/ public Integer call() throws Exception { if (i.incrementAndGet() < 5) { throw new DeadlockLoserDataAccessException("My fake exception", null); } return returnVal; } }); assertEquals(i.get(), 5); assertEquals(result, returnVal); }
From source file:com.hubrick.raml.mojo.util.JavaNames.java
private static <T> Function<T, Indexed<T>> indexed() { final AtomicInteger index = new AtomicInteger(); return (value) -> new BasicIndexed<>(index.getAndIncrement(), value); }
From source file:com.netflix.curator.framework.imps.TestCompression.java
@Test public void testCompressionProvider() throws Exception { final byte[] data = "here's a string".getBytes(); final AtomicInteger compressCounter = new AtomicInteger(); final AtomicInteger decompressCounter = new AtomicInteger(); CompressionProvider compressionProvider = new CompressionProvider() { @Override/*from ww w .java 2 s.co m*/ public byte[] compress(String path, byte[] data) throws Exception { compressCounter.incrementAndGet(); byte[] bytes = new byte[data.length * 2]; System.arraycopy(data, 0, bytes, 0, data.length); System.arraycopy(data, 0, bytes, data.length, data.length); return bytes; } @Override public byte[] decompress(String path, byte[] compressedData) throws Exception { decompressCounter.incrementAndGet(); byte[] bytes = new byte[compressedData.length / 2]; System.arraycopy(compressedData, 0, bytes, 0, bytes.length); return bytes; } }; CuratorFramework client = CuratorFrameworkFactory.builder().compressionProvider(compressionProvider) .connectString(server.getConnectString()).retryPolicy(new RetryOneTime(1)).build(); try { client.start(); client.create().compressed().creatingParentsIfNeeded().forPath("/a/b/c", data); Assert.assertNotEquals(data, client.getData().forPath("/a/b/c")); Assert.assertEquals(data.length, client.getData().decompressed().forPath("/a/b/c").length); } finally { IOUtils.closeQuietly(client); } Assert.assertEquals(compressCounter.get(), 1); Assert.assertEquals(decompressCounter.get(), 1); }
From source file:com.raphfrk.craftproxyclient.gui.GUIManager.java
public static JSONObject getPreviousLoginDetails() { JSONObject loginInfo = AuthManager.refreshAccessToken(); if (loginInfo == null) { return null; }/*from w w w.j a v a 2s.com*/ final AtomicInteger option = new AtomicInteger(); Runnable r = new Runnable() { public void run() { option.set(JOptionPane.showConfirmDialog(CraftProxyClient.getGUI(), "Login as " + AuthManager.getUsername() + "?", "Login", JOptionPane.YES_NO_OPTION)); } }; if (SwingUtilities.isEventDispatchThread()) { r.run(); } else { try { SwingUtilities.invokeAndWait(r); } catch (InvocationTargetException | InterruptedException e) { return null; } } if (option.get() == 0) { return loginInfo; } else { return null; } }
From source file:org.zenoss.zep.dao.impl.DaoUtilsTest.java
@Test public void testDeadlockRetryAllFailed() throws Exception { final AtomicInteger i = new AtomicInteger(); try {//from w w w .j a v a2 s. c om DaoUtils.deadlockRetry(new Callable<Integer>() { @Override public Integer call() throws Exception { throw new DeadlockLoserDataAccessException(String.valueOf(i.incrementAndGet()), null); } }); fail("Should have thrown an exception after 5 retries"); } catch (DeadlockLoserDataAccessException e) { assertEquals("5", e.getMessage()); } }
From source file:jcuda.jcublas.kernel.TestMultipleThreads.java
@Test public void testMultipleThreads() throws InterruptedException { int numThreads = 10; final INDArray array = Nd4j.rand(3000, 3000); final INDArray expected = array.dup().mmul(array).mmul(array).div(array).div(array); final AtomicInteger correct = new AtomicInteger(); final CountDownLatch latch = new CountDownLatch(numThreads); ExecutorService executors = Executors.newCachedThreadPool(); for (int x = 0; x < numThreads; x++) { executors.execute(new Runnable() { @Override//w w w. j av a 2 s . co m public void run() { try { int total = 10; int right = 0; for (int x = 0; x < total; x++) { StopWatch watch = new StopWatch(); watch.start(); INDArray actual = array.dup().mmul(array).mmul(array).div(array).div(array); watch.stop(); System.out.println("MMUL took " + watch.getTime()); if (expected.equals(actual)) right++; } if (total == right) correct.incrementAndGet(); } finally { latch.countDown(); } } }); } latch.await(); assertEquals(numThreads, correct.get()); }