-
-
Notifications
You must be signed in to change notification settings - Fork 8.7k
AsyncExample
github-actions[bot] edited this page Jun 11, 2026
·
1 revision
package examples;
import io.github.ccxt.exchanges.Binance;
import io.github.ccxt.types.Ticker;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
/**
* Demonstrates asynchronous fetching with CompletableFuture.
* Fetches multiple tickers concurrently and waits for all results.
*
* Usage:
* cd java && ./gradlew :examples:run -PmainClass=examples.AsyncExample
*/
public class AsyncExample {
public static void main(String[] args) throws Exception {
Binance exchange = new Binance();
exchange.loadMarkets(false);
String[] symbols = {"BTC/USDT", "ETH/USDT", "SOL/USDT", "XRP/USDT", "DOGE/USDT"};
System.out.println("Fetching " + symbols.length + " tickers concurrently...");
long start = System.currentTimeMillis();
// Fire all requests concurrently
@SuppressWarnings("unchecked")
CompletableFuture<Ticker>[] futures = new CompletableFuture[symbols.length];
for (int i = 0; i < symbols.length; i++) {
futures[i] = exchange.fetchTickerAsync(symbols[i], null);
}
// Wait for all to complete
CompletableFuture.allOf(futures).get(30, TimeUnit.SECONDS);
long elapsed = System.currentTimeMillis() - start;
System.out.printf("%-12s %12s %10s%n", "Symbol", "Price", "Change%");
System.out.println("-".repeat(36));
for (CompletableFuture<Ticker> f : futures) {
Ticker t = f.get();
System.out.printf("%-12s %12.4f %9.2f%%%n",
t.symbol,
t.last != null ? t.last : 0,
t.percentage != null ? t.percentage : 0);
}
System.out.println("\nAll fetched in " + elapsed + "ms");
}
}(If the page is not being rendered for you, you can refer to the mirror at https://docs.ccxt.com/)
- Install
- Examples
- Manual
- CCXT Pro
- Contributing
- Supported Exchanges
- Exchanges By Country
- API Spec By Method
- FAQ
- Changelog
- Awesome
- API Spec by Exchange
- fetchCurrencies
- alpaca
- apex
- ascendex
- aster
- backpack
- bigone
- binance
- bingx
- bit2c
- bitbank
- bitbns
- bitfinex
- bitflyer
- bitget
- bithumb
- bitmart
- bitmex
- bitopro
- bitrue
- bitso
- bitstamp
- bitteam
- bittrade
- bitvavo
- blockchaincom
- blofin
- btcbox
- btcmarkets
- btcturk
- bullish
- bybit
- bydfi
- cex
- coinbase
- coinbaseexchange
- coinbaseinternational
- coincheck
- coinex
- coinmate
- coinmetro
- coinone
- coinsph
- coinspot
- cryptocom
- cryptomus
- deepcoin
- delta
- deribit
- derive
- digifinex
- dydx
- exmo
- extended
- foxbit
- gate
- gemini
- grvt
- hashkey
- hibachi
- hitbtc
- hollaex
- htx
- hyperliquid
- independentreserve
- indodax
- kraken
- krakenfutures
- kucoin
- fetchBidsAsks
- latoken
- lbank
- lighter
- luno
- mercado
- mexc
- modetrade
- ndax
- novadax
- okx
- onetrading
- p2b
- pacifica
- paradex
- paymium
- phemex
- poloniex
- tokocrypto
- toobit
- upbit
- weex
- whitebit
- woo
- woofipro
- xt
- zaif
- fetchStatus