几个匿名内部类问题的思考
本博客是由工作中遇到的一个bug而引起的对匿名内部的思考,分享这个case希望能够帮助大家理解匿名内部类的原理。 接下来我们通过实例看一下这个问题,以及实现原理。 一代码 1Tester 此类主要逻辑:在此类的main方法中,先创建多个线程,每个线程中创建一个任务,然后将任务加入到线程池中执行;在线程池中的任务非常简单,即将任务所属的线程id输出。 public class Tester { private static ExecutorService executorService = Executors.newFixedThreadPool(3); public static void main(String[] args) { for (int i = 0; i < 10; i++) { Thread thread = new Thread(new Runnable() { @Override public void run() { TaskInfo task = new TaskInfo(); long threadId = Thread.currentThread()...