# trace cross thread * Dependency the toolkit, such as using maven or gradle ```xml org.apache.skywalking apm-toolkit-trace ${skywalking.version} ``` * usage 1. ```java @TraceCrossThread public static class MyCallable implements Callable { @Override public String call() throws Exception { return null; } } ... ExecutorService executorService = Executors.newFixedThreadPool(1); executorService.submit(new MyCallable()); ``` * usage 2. ```java ExecutorService executorService = Executors.newFixedThreadPool(1); executorService.submit(CallableWrapper.of(new Callable() { @Override public String call() throws Exception { return null; } })); ``` or ```java ExecutorService executorService = Executors.newFixedThreadPool(1); executorService.execute(RunnableWrapper.of(new Runnable() { @Override public void run() { //your code } })); ``` _Sample codes only_