池子里有多个worker,每一个worker是一个实际在跑的线程,它们都实现了runnable,并且是通过start()启动的。只不过它本身是没有具体任务,而是执行你加进去的任务。worker每次从队列中抓一个runnable,然后直接执行它的run()函数。理解这个,只要知道runnable通过start()和通过run()执行是不同的。