关于多线程编程的问题

2025-05-09 11:17:23
推荐回答(3个)
回答1:

程序出现了线程同步的问题。
线程同步是一个系统的,包含内容很广的问题。多线程编程需要精致地运用线程同步机制以解决资源竞争、互斥、协同及死锁等多种问题。如果你一定要用多线程实现,那就必须系统地掌握线程同步编程的方法。
建议先学习一本操作系统教材的多线程章节,了解整个知识脉络(推荐《现代操作系统》,讲得很好);再学习一下Windows在多线程方面提供的线程同步对象和同步API;如果你用的是VC,那么还要学习一下MFC对线程同步API的封装方法。

当然,您也可以把代码贴上来让大家帮忙找出问题所在。

回答2:

可能是你的程序的三个线程在双核cpu同时运行,偶尔导致数据冲突。

回答3:

用的WaitForSingleObject这个函数?这个函数你在调用的时候输出一下返回值,有时候会执行失败