# 跨线程追踪
* 使用 maven 和 gradle 依赖相应的工具包
```xml
org.apache.skywalking
apm-toolkit-trace
${skywalking.version}
```
* 使用方式一.
```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());
```
* 使用方式二.
```java
ExecutorService executorService = Executors.newFixedThreadPool(1);
executorService.submit(CallableWrapper.of(new Callable() {
@Override public String call() throws Exception {
return null;
}
}));
```
或者
```java
ExecutorService executorService = Executors.newFixedThreadPool(1);
executorService.execute(RunnableWrapper.of(new Runnable() {
@Override public void run() {
//your code
}
}));
```
_示例代码,仅供参考_