任何解释每个的实时场景都将受到赞赏.除了pthreads之外还有其他方法来处理同步.互斥体与递归互斥体(任何实时场景)有何不同?
有人请参考或示例帮助我解决c ++中的死锁问题.
场景如下所示.
Thread1被互斥锁定并执行某些操作,thread2和thread3处于等待状态,以便thread1解锁以访问资源.
一些中止/意外的事情发生了 - thread1被终止并且没有得到解锁,thread2和thread3仍在等待.
在这种情况下如何保存主线程(对主线程没有任何意义).
请详细说明如何在c ++中解决此类问题.
谢谢,谢克
为什么"2 ="输出会给出惊喜结果,请稍微说清楚.在这种情况下,double有什么问题.
双值分割的任何约束.
在c ++中是否有任何选项可以避免这些事情.
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
int main()
{
double d1,d2,d3,d4,d5;
double d = 0.010000;
d1 = 1000000.28;
d2 = 10000000.28;
d3 = 100000000.28;
d4 = 1000000000.28;
d5 = 10000000000.28;
cout.precision(15);
cout<<"1="<<floor(d1/d)<<endl;
cout<<"2="<<floor(d2/d)<<endl;
cout<<"3="<<floor(d3/d)<<endl;
cout<<"4="<<floor(d4/d)<<endl;
cout<<"5="<<floor(d5/d)<<endl;
return 0;
}
o/p
====
1 = 1000000.28;
2 = 10000000.27;
3 = 100000000.28;
4 = 1000000000.28;
5 = 10000000000.28;
Run Code Online (Sandbox Code Playgroud)