关于ACE创建线程wait的问题
继承ACE_Task类可以实现多线程的目的,activate即可启动线程,activate默认的参数为THR_NEW_LWP | THR_JOINABLE,对于THR_JOINABLE的线程需要进行“合并”,我有几点不明白:1)是不是只要调用activate启动的线程,都要调用wait进行合并?我在主线程中调用ACE_Thread_Manager::instance()->wait(),是不是创建的子线程不需要wait来合并?
2)如果不这么做线程退出是不是有资源泄露?
3)假如创建的子线程永久执行,是否还有资源泄露?
还请DX们多多指点,本人菜鸟一个。
谢谢了。 THR_NEW_LWP | THR_JOINABLE 在windows下,两个标记完全一样,没区别。 只要调用activate启动的线程,都要调用wait进行合并,这本来就符合一开一关的代码要求
不要用ACE_Thread_Manager::instance()->wait(),导致代码可读性不高 谢谢2位DX答复,不过还有些不明白,对于创建的子线程,如果调用wait线程则会被挂起,后面的代码就不会继续执行,有没有办法不让程序阻塞在此? wait就是等待activate启动的线程执行完。
你可以开个线程activate。
页:
[1]