首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调试多线程程序

调试多线程程序
EN

Stack Overflow用户
提问于 2012-02-15 13:35:32
回答 5查看 717关注 1票数 0

如果有一些代码被两个线程同时写入同一个对象,我的理解是它不会产生任何编译时错误,这就是调试多线程程序如此困难的部分原因。但是这会产生运行时错误/异常吗?

有没有人能推荐一些好的多线程调试技术?

谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2012-02-15 13:43:35

从两个或多个不同的线程内部访问同一对象不会在运行时或调试器中产生错误,但它很可能会以您不想要的方式干扰对象。

在多线程环境中安全地处理它的方法是使用互斥锁和信号量。对于互斥锁,请检查wikipedia link

Mutexes通常用于限制一个线程一次只能访问一个对象的情况。

另一方面,信号量是一种更通用的情况(互斥量实际上是信号量的特例),它有一个计数器,即每个线程将根据信号量的激活/停用而增加/减少。当信号量达到0时,它将锁定自身和导致它的线程。有关信号量的更多信息,请查看wikipedia page

如果你想要更具体的建议,那么我建议你给我们关于你的目标操作系统和/或你正在使用的API的信息,因为任何与线程(互斥、信号量等)有关的信息。特定于操作系统

票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9288365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档