写线程池的时候到底需不需要自己包装FutureTask
一般来说,我们会写一个Runnable接口的实现用来包装我们需要异步执行的内容。但是,Runnable是没有实现的,有些时候,我们需要执行的内容是一个有返回值的方法或者需要抛出异常,这个时候,我们就需要使用Callable接口。一般来说,我们会写一个Runnab
一般来说,我们会写一个Runnable接口的实现用来包装我们需要异步执行的内容。但是,Runnable是没有实现的,有些时候,我们需要执行的内容是一个有返回值的方法或者需要抛出异常,这个时候,我们就需要使用Callable接口。一般来说,我们会写一个Runnab