问题描述
template <typename T> class threadpool;class http_conn;threadpool <http_conn> *poll;
请问类http_conn和类threadpool是什么关系,在uml中如何表示?threadpool的定义如下:
template< typename T >class threadpool{public: threadpool( int thread_number = 8, int max_requests = 10000 ); ~threadpool(); bool append( T* request );private: static void* worker( void* arg ); void run();private: int m_thread_number; int m_max_requests; pthread_t* m_threads; std::list< T* > m_workqueue; locker m_queuelocker; sem m_queuestat; bool m_stop;};
问题解答
回答1:建议你最好贴完整的类声明,目前来看http_conn可能是threadpool<http_conn>类的一个成员。
回答2:感觉是 uni-directional association:
+-----------------------+ +-----------------------+| threadpool<http_conn> | | http_conn |+-----------------------+ m_workqueue +-----------------------+| |------------------>| || | 0..* | || | | |+-----------------------+ +-----------------------+