类InternalThread是一个虚类,是Caffe中的多线程接口,其本质是为封装了boost::thread
看源码可以得到以下结论:
1、每个派生类都需要实现一个InternalThreadEntry()
2、thread_的初值为NULL,所以单单继承InternalThread不会产生新的线程
3、但是调用InternalThread::StartInternalThread()函数,则会执行以下代码,重置thread_,该线程绑定的函数是InternalThread::entry()
4、在InternalThread::entry()中,调用了InternalThread::InternalThreadEntry(),该函数在不同的派生类中的实现是不同的(即不同的子线程完成的任务不一样)