List of usage examples for java.util.concurrent.atomic AtomicInteger AtomicInteger
public AtomicInteger()
From source file:com.sillelien.dollar.api.types.DollarList.java
@NotNull @Override//from w w w. ja v a2s . c om public ImmutableMap<var, var> toVarMap() { AtomicInteger counter = new AtomicInteger(); return list.stream().map(var -> DollarStatic.$(String.valueOf(counter.getAndIncrement()), var)) .collect(Collectors.reducing(CollectionAware::$append)).get().toVarMap(); }
From source file:com.alibaba.napoli.client.benchmark.NapoliNormalQueueTest.java
@Test public void sendMessageWithSenderStoreEnableTest() throws Exception { log.info("start to execute sendMessageWithSenderStoreEnableTest"); long beginQueueSize = JmxUtil.getQueueSize(sendConnector.getAddress(), queueName); qSender = new DefaultAsyncSender(); qSender.setConnector(sendConnector); qSender.setName(queueName);//from w w w. j a va 2s . c o m qSender.setStoreEnable(true); qSender.setReprocessInterval(10000 * 1000 * 1000); qSender.init(); int tc = 10; log.info("yanny requestcount = " + System.getProperty("requestCount") + ", begin queue size is " + beginQueueSize); final int tp = Integer.parseInt(System.getProperty("requestCount", "20")); final Semaphore semaphore = new Semaphore(tc); final AtomicInteger sumCount = new AtomicInteger(); final AtomicInteger requestCount = new AtomicInteger(); long startTime = System.currentTimeMillis(); log.info("Yanny start send request " + startTime); for (int i = 0; i < tc; i++) { Thread t = new Thread("thread--" + i) { public void run() { try { //?tringap??Serializable semaphore.acquire(); Person person = new Person(); person.setLoginName("superman"); person.setEmail("sm@1.com"); person.setPenName("pname"); person.setStatus(PersonStatus.ENABLED); for (int j = 0; j < tp; j++) { // log.info("hello"); int id = requestCount.incrementAndGet(); person.setPersonId("" + id); //?? ??true???alse boolean result = qSender.send(person); if (!result) { log.info("----------------send to queue " + "result is false. personid=" + j); } else { sumCount.incrementAndGet(); } } } catch (Throwable t) { t.printStackTrace(); } finally { semaphore.release(); } } }; t.start(); } while (semaphore.availablePermits() != tc) { Thread.sleep(100); } int totalRequest = tc * tp; long endTime = System.currentTimeMillis(); log.info("yanny: send " + totalRequest + " message, take " + (endTime - startTime) + " milseconds"); JmxUtil.waitTillQueueSizeAsTarget(sendConnector.getAddress(), queueName, beginQueueSize); endTime = System.currentTimeMillis(); String errorMessage = ""; long qBdbCount = NapoliTestUtil.getStoreSize(sendConnector.getSenderKVStore(qSender.getName())); log.info("yanny totalRequest " + totalRequest + " send queue success " + sumCount + " local store count:" + qBdbCount + " queue received " + qWorker.getAccessNum() + " take " + (endTime - startTime) + " milseconds"); log.info(initConsumeMessage); log.info("NapoliNormalQueueTest's success=" + qWorker.getAccessNum() + " bdb's size=" + qBdbCount); //with store enabled, all send should succeed. if (qSender.getStoreEnable()) { if (sumCount.get() != totalRequest) { errorMessage += ";with store enabled, all send should return success, but not equal now. send succeed " + sumCount.get() + "; total request:" + totalRequest; } } else { if (sumCount.get() < totalRequest * 0.95) { errorMessage += ";with store disabled, expected more than 95% message send succeed, total request:" + totalRequest + "; send succeed " + sumCount.get(); } } if (sumCount.get() < qWorker.getAccessNum()) { errorMessage += ";queue should not have success messages more than send succeed" + sumCount.get() + " (success " + qWorker.getAccessNum() + ")"; } if ((sumCount.get() - qBdbCount) > qWorker.getAccessNum()) { errorMessage += ";queue received message (" + qWorker.getAccessNum() + ") less than send succeed - local stored message, message lost " + (sumCount.get() - qBdbCount); } int allowedDiff = (int) Math.round(sumCount.get() * 0.001); if (((qWorker.getAccessNum() + qBdbCount) - sumCount.get()) > allowedDiff) { errorMessage += "queue received message should not have more than send succeed + " + allowedDiff + " than allowed (0.1%), gap " + ((qWorker.getAccessNum() + qBdbCount) - sumCount.get()); } assertTrue(errorMessage, errorMessage.equals("")); verify(napoliSenderStat, atMost(qWorker.getAccessNum())).sendSuccess(anyLong(), anyLong()); verify(napoliSenderStat, atLeast((int) (sumCount.get() - qBdbCount))).sendSuccess(anyLong(), anyLong()); verify(napoliSenderStat, times((int) qBdbCount)).sendFailure(anyLong(), anyLong()); verify(napoliReceiverStat, times((int) qWorker.getAccessNum())).receiveSuccess(anyLong(), anyLong()); }
From source file:app.androidhive.info.realm.GCM.GcmIntentService.java
private void showJSON(String response) { String id;// w w w . j av a2s. c o m String name = ""; String adress1 = ""; String adress2 = ""; String phone = ""; try { JSONObject jsonObject = new JSONObject(response); JSONArray result = jsonObject.getJSONArray("Nek"); JSONObject collegeData = result.getJSONObject(0); id = collegeData.getString("ID"); name = collegeData.getString("NekName"); adress1 = collegeData.getString("NekAdress2"); adress2 = collegeData.getString("NekAdress2"); phone = collegeData.getString("NekPhone"); AtomicInteger id2 = new AtomicInteger(); /* if (id == null || id == "" || id == " "){ addInfo(Phone); }*/ //else { Book book = new Book(); book.setId(id2.getAndIncrement()); book.setNekID(id); book.setName(name); book.setPhone(phone); book.setAdress1(adress1); book.setAdress2(adress2); book.setStatus(1); Intent dialogIntent = new Intent(getBaseContext(), MainActivity.class); /* dialogIntent.putExtra("Name", name); dialogIntent.putExtra("Phone", phone); dialogIntent.putExtra("Adress1", adress1); dialogIntent.putExtra("Adress2", adress2); dialogIntent.putExtra("NekID", id); */ dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); getApplication().startActivity(dialogIntent); // } } catch (JSONException e) { e.printStackTrace(); } }
From source file:org.eclipse.hono.service.registration.impl.FileBasedRegistrationService.java
private void saveToFile(final Future<Void> writeResult) { if (!dirty) { log.trace("registry does not need to be persisted"); return;// w w w .ja va 2 s . co m } final FileSystem fs = vertx.fileSystem(); if (!fs.existsBlocking(filename)) { fs.createFileBlocking(filename); } final AtomicInteger idCount = new AtomicInteger(); JsonArray tenants = new JsonArray(); for (Entry<String, Map<String, JsonObject>> entry : identities.entrySet()) { JsonArray devices = new JsonArray(); for (Entry<String, JsonObject> deviceEntry : entry.getValue().entrySet()) { devices.add(new JsonObject().put(FIELD_HONO_ID, deviceEntry.getKey()).put(FIELD_DATA, deviceEntry.getValue())); idCount.incrementAndGet(); } tenants.add(new JsonObject().put(FIELD_TENANT, entry.getKey()).put(ARRAY_DEVICES, devices)); } fs.writeFile(filename, Buffer.factory.buffer(tenants.encodePrettily()), writeAttempt -> { if (writeAttempt.succeeded()) { dirty = false; log.trace("successfully wrote {} device identities to file {}", idCount.get(), filename); writeResult.complete(); } else { log.warn("could not write device identities to file {}", filename, writeAttempt.cause()); writeResult.fail(writeAttempt.cause()); } }); }
From source file:juicebox.data.MatrixZoomData.java
/** * Return the blocks of normalized, observed values overlapping the rectangular region specified. * The units are "bins"// w w w .j av a2s.co m * * @param binY1 leftmost position in "bins" * @param binX2 rightmost position in "bins" * @param binY2 bottom position in "bins" * @param no normalization type * @return List of overlapping blocks, normalized */ public List<Block> getNormalizedBlocksOverlapping(int binX1, int binY1, int binX2, int binY2, final NormalizationType no) { int col1 = binX1 / blockBinCount; int row1 = binY1 / blockBinCount; int col2 = binX2 / blockBinCount; int row2 = binY2 / blockBinCount; int maxSize = (col2 - col1 + 1) * (row2 - row1 + 1); final List<Block> blockList = new ArrayList<Block>(maxSize); final List<Integer> blocksToLoad = new ArrayList<Integer>(); for (int r = row1; r <= row2; r++) { for (int c = col1; c <= col2; c++) { int blockNumber = r * getBlockColumnCount() + c; String key = getKey() + "_" + blockNumber + "_" + no; Block b; if (HiCGlobals.useCache && blockCache.containsKey(key)) { b = blockCache.get(key); blockList.add(b); } else { blocksToLoad.add(blockNumber); } } } final AtomicInteger errorCounter = new AtomicInteger(); List<Thread> threads = new ArrayList<Thread>(); for (final int blockNumber : blocksToLoad) { Runnable loader = new Runnable() { @Override public void run() { try { String key = getKey() + "_" + blockNumber + "_" + no; Block b = reader.readNormalizedBlock(blockNumber, MatrixZoomData.this, no); if (b == null) { b = new Block(blockNumber); // An empty block } if (HiCGlobals.useCache) { blockCache.put(key, b); } blockList.add(b); } catch (IOException e) { errorCounter.incrementAndGet(); } } }; Thread t = new Thread(loader); threads.add(t); t.start(); } // Wait for all threads to complete for (Thread t : threads) { try { t.join(); } catch (InterruptedException ignore) { } } // untested since files got fixed - MSS if (errorCounter.get() > 0) { return null; } return blockList; }
From source file:core.Annotator.java
private boolean annotateVariants() { final List<Integer> starts = getStarts(); final AtomicInteger total = new AtomicInteger(); starts.parallelStream().forEachOrdered(start -> { try {/* ww w . j a v a 2 s .com*/ annotate(start); } catch (Exception e) { e.printStackTrace(); } }); return true; }