これはどのように答えるのですか?助けてください。C++で複数スレッドの並列プログラミングをロック
3つのスレッドで次のプログラムを検討してください。
locks l1, l2, l3;
*スレッド1
while(1){
l1.lock();
l2.lock();
printf(“Red”);
l3.unlock();
l1.unlock();}
*スレッド2
while(1){
l2.lock();
l3.lock();
printf(“Green”);
l1.unlock();
l2.unlock();}
*スレッド3
while(1){
l3.lock();
l1.lock();
printf(“Blue”);
l2.unlock();
l3.unlock();}
a)は、上記のプログラムの可能な結果はどのようなものです。これがどうなるか説明できますか? b)このコードはデッドロックにつながるでしょうか?
ロックは抽象概念ですが、タイプの定義を指定できますか? 'ロック'?これはおそらく有用かもしれませんhttp://stackoverflow.com/questions/9382122/whats-the-difference-between-mutex-and-lock – Rama