有个CSThread类
有Start() Stop() SetFun(fun,,,)方法在CMyTest里使用CSThread类
CMyTest::CMyTest()
{
SetFun(OnDeal,,,);
}CMyTest::CreateEvent()
{
m_TMap[n] = npot;//给map赋值
m_thread.Start();
}
CMyTest::OnDeal(long lp)
{
if(m_TMap为空)
{
m_thread.Stop();
}//能否在此关闭线程,因为OnDeal是线程内执行的 else
{
//...处理m_TMap中数据
}
}
有Start() Stop() SetFun(fun,,,)方法在CMyTest里使用CSThread类
CMyTest::CMyTest()
{
SetFun(OnDeal,,,);
}CMyTest::CreateEvent()
{
m_TMap[n] = npot;//给map赋值
m_thread.Start();
}
CMyTest::OnDeal(long lp)
{
if(m_TMap为空)
{
m_thread.Stop();
}//能否在此关闭线程,因为OnDeal是线程内执行的 else
{
//...处理m_TMap中数据
}
}
随便怎么使用都没有什么问题的。
//....但不知道什么时候执行完;我是想在执行完后就关闭线程.那就执行完就return 呗..
取队列的时候放个信号量给外面的线程用,或者自己维护个失效时间
外面的线程等不急就直接Terminate..没看懂,真的没看懂...