C++程序,下面这个程序中.是创建仿真线程后,线程就直接开始运行吗?
1.怎么就让createvent创建的事件与线程关联呢?2.是创建仿真线程后,线程就直接开始运行吗?3.创建一个线程后紧跟一个closehandle是要干啥?刚创建就关闭...
1.怎么就让createvent创建的事件与线程关联呢?
2.是创建仿真线程后,线程就直接开始运行吗?
3.创建一个线程后紧跟一个closehandle是要干啥?刚创建就关闭线程?
求教求教 展开
2.是创建仿真线程后,线程就直接开始运行吗?
3.创建一个线程后紧跟一个closehandle是要干啥?刚创建就关闭线程?
求教求教 展开
1个回答
展开全部
1
假设上面的代码在主线程,BusThreadProc是子扰消碰线程,可以在子线程需要访问全局资源之前加WaitForSingleObject阻塞,主线程中调用SetEvent.
2
线程创建成功后,只要cpu时间片轮到子线程,就会开始缓谈执行.
3
线程,事件等等都是内核对象,简单说就是句柄,一种资源,使用之后要释放.
并不是刚创建就关闭线桥和程,是你的代码这么写的,closehandle可以放在你认为合适的位置,根据实现需求来.
假设上面的代码在主线程,BusThreadProc是子扰消碰线程,可以在子线程需要访问全局资源之前加WaitForSingleObject阻塞,主线程中调用SetEvent.
2
线程创建成功后,只要cpu时间片轮到子线程,就会开始缓谈执行.
3
线程,事件等等都是内核对象,简单说就是句柄,一种资源,使用之后要释放.
并不是刚创建就关闭线桥和程,是你的代码这么写的,closehandle可以放在你认为合适的位置,根据实现需求来.
追问
线程创建成功后,是主线程和子线程都在运行吗?
线程释放是什么意义?释放后线程就不再运行了吗?
追答
1 线程创建成功后,主线程和子线程交替执行,具体怎么交替,看操作系统.
2 BusThreadProc函数执行结束后,线程就结束了,但线程资源还没释放,线程资源就是CreateThread返回的那个句柄,它唯一标识一个线程.
另外,事件也是一个内核对象,在使用完成后,也要CloseHandle
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询