나는이 특정 교착 상태를 해결하기 위해 몇 가지 제안을 부탁드립니다 :여러 운영자가 3 가지 도구를 공유하고 교착 상태를 피하는 방법?
3 operators, each is given 2 of 3 different materials at random: 1, 2, 3
3 tools, each material needs a different tool to process by an operator.
material 1 needs tool 1
material 2 needs tool 2
material 3 needs tool 3
Each operator needs to wait for the proper tools to process the materials.
i.e. If an operator has taken material 1,2, he needs tool 1,2
교착 상태가 발생할 수 있습니다 : 두 도구를 얻을 수있는 연산자의
operator 1 has taken material 1,2, waiting for tool 1,2
operator 2 has taken material 2,3, waiting for tool 2,3
operator 3 has taken material 3,1, waiting for tool 3,1
없음, 운전자가 무엇을해서는 안?
제안
운영자에 의해 촬영 최근 6 개 자료를 기록하는 전역 변수를 만듭니다. 각 재료가 두 번 나타난다면 (예제 [1,3,1,2,2,3]) 마지막 재료는 모든 재료가 두 번 나타나지 않을 때까지 마지막 재료를 버려야합니다 (예 : [1,3,1,2,2 , ])?
이 방법이 유용할까요? 3 개의 공구와 3 개의 재료로 10 명의 작업자가 있다면 어떻게 될까요? 어떤 제안이 도움이 될 것입니다.
이것은 고전적인 "식당 철학자"문제에 대한 변형으로 보입니다. –