您的位置:首页 > 其它

VC创建线程问题总结

2010-12-17 20:09 295 查看
今天在调试函数的时候,做了两个线程,一个线程用来发送消息,一个线程用来接收消息并将消息输出到文件。

可是,在函数执行的时候发现,发送线程线程创建成功,但是却总是不能执行到线程内。一头雾水,检查半天才发现,原来是main()函数中只创建了两个线程,线程创建成功即返回,根本没有线程执行的时间!

修改的方法很简单在main()函数return之前Suspendthread(Getcurrentthread())就可以了。

还有一个问题就是,接收函数接收消息后存储到文件中,最后的几条消息用fprintf()却没有保存到文件中。原因是系统先将其放入缓存中,以致最后的消息总是不能写到文件,最后的解决方法是在fprintf()函数后加fflush()。对于某些函数现将输出存到缓存里的情况也可以使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐