善用Debug

2018-08-25  本文已影响0人  SithCait

昨天在实现《Java 7并发编程实战手册》 7.3 实现基于优先级的Executor类 例子的时候。
发现MyPriorityTask只实现了Comparable接口的cpmpareTo()方法,并没有看到实际在哪调用。
Debug一下


创建执行器

当执行器空间并等待任务时,它们将立刻被执行。由于只创建了两个线程执行器,所以前两个任务将被首批执行。


调用栈1

接下来,剩余任务基于它们的优先级被依次执行。


调用栈2

可以很清晰的看到是哪些哪里调用到了这个方法,原理就很清晰了。
当然Debug不仅限于这个用法,日常排错都是很基础的东西就不再赘述。

上一篇 下一篇

猜你喜欢

热点阅读