IDEA除了可以对整个进程Debug外,还可以对每个线程进行Debug,这里需要将断点的类型进行修改,测试的话需要自己开启多个线程。
1. 定义线程(可以忽略其中的业务逻辑)
class Audit implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getId() + "启动");
Task task = taskService.createTaskQuery().processInstanceId("485992c7-1885-11ed-ad39-30c9abd5dc76").singleResult();
System.out.println(Thread.currentThread().getId() + " " + task.hashCode());
String userId1 = "00772E4061A748ACB63037FC928BB2B8";
String userId2 = "01F962415EA84D4797D2BA76643774E1";
if (Thread.currentThread().getId() % 2 == 0) {
taskService.claim(task.getId(), userId1);
}else {
taskService.claim(task.getId(), userId2);
}
System.out.println(Thread.currentThread().getId() + "执行完毕");
}
}