提供以下计划的4种可能结果

时间:2016-12-07 19:07:38

标签: c multithreading

考虑以下带有2个线程的程序

Lock.lock = new Lock()

:: Thread 1 ::

while(true){
   print("Red");
   print("Red");
   lock.unlock();
}

:: Thread 2 ::

while(true){
   lock. lock()
   print("Blue");
}

1 个答案:

答案 0 :(得分:-2)

由于while(true)循环会无限期地继续下去,所以会产生无限多的结果......但是这里有几个结果:

选项1:

  • 红蓝蓝......

选项2:

  • 红蓝红蓝......

选项3:

  • 蓝红红......

选项4:

  • 红色红色红色......

选项5:

  • 蓝蓝红红......
相关问题