[java编程思想 P665]当最后一个非后台线程终止时,后台线程会"突然"终止。因此一旦main()退出,JVM就会立即关闭所有的后台进程,而不会有任何你希望出现的确认形式。因为你不能以优雅的方式来关闭后台线程,所以它们几乎不是一种好的思想。非后台的Executor通常是一种更好的方式,因为Executor控制的所有任务可以同时被关闭。在这种情况下,关闭将以有序的方式执行。
[java编程思想 P666]在构造器中启动线程可能会变得很有问题,因为另一个任务可能会在构造器结束之前开始执行,这意味着该任务能够访问处于不稳定状态的对象。这是优选Executor而不是显示的创建Thread对象的另一个原因。