to Erica33(唐唐) :
我想你没有明白为什么要用线程池? 使用线程的原因是:通过重用线程,以避免运行时频繁的申请和释放线程所造成的低效和资源泄漏。如果不考虑效率问题,你完全可以不用线程池,直接使用线程。
(另:兄台的名字好熟悉呀,好象哥哥的朋友也叫唐唐耶 *^_^* )
to chliang(拉西):
“让线程通用”可不太容易,如上例:一个函数 execute(IAsyncMethod)可以异步执行函数,但是一般情况下,该函数只能支持一种格式的函数,如果函数的定义变化了,必须重新定义IAsyncMethod,这样子很麻烦也很不透明。在C++里,可以借助于摸板技术支持不同格式的函数,但是在Java里行不通。不过,可以模仿自动化接口IDispatch的函数调用方式,把函数的所有参数都打包到一个预先定义好的结构体中,然后以该结构体为参数,传入之后再解开结构体,这样做很麻烦。