如果有人对C++、多线程代码有经验,能对互斥问题有所了解,我将不胜感激。它运行在Red hat Linux 5.4上。我们正在调试不是我写的遗留代码。假设每秒进行非常高的调用,响应时间为3-5毫秒。我不喜欢这个应用程序的一个地方是到处使用智能指针(当SPtr超出范围时就会调用互斥锁)。写这篇文章的人似乎对SPtrs上瘾了。许多函数都将SPtr作为参数。应用程序可以正常运行几个小时,然后我们在锁的时候突然得到互斥EINVAL (返回代码22)。我见过核心转储,它显示了不同
我创建了一个简单的程序来显示互斥锁的使用。这是密码..。making a call108 642Hi I'm thread #3412776704 making a call但是,如果我修改函数makeCall并在互斥锁内传递变量我不明白在锁中传递变量call_time有什么区别。我希望有人能让我理解我的节目的这种行为。干杯!