2012-05-17 2 views
0

스레드에 약간의 문제가 있습니다. 해결 방법이나 적어도 어느 방향으로 찾아야할지, 오랜 시간 동안 찾고 있지만 성공하지 못한 경우에는 ... 알려주세요. 여기에 문제가 있습니다 : 3 개의 스레드가 있으며, 어떤 순서로도 실행할 수 있습니다 (321; 213; 123 ...). 우리가 달리지 않을 흐름 순서대로 그들은 1,2,3 순서대로 운동해야합니다. 이를 위해 ONE 뮤텍스와 스레드 동기화를 사용하십시오. 미리 감사드립니다.뮤텍스를 사용하여 특정 대기열의 동기화 스트림

+0

이 숙제가 있습니까? 너 뭐 해봤 니? – Alex

+0

나는 이것을하려고 노력했지만 나는 할 수 없다! –

+0

왜이 경우 뮤텍스를 사용 하시겠습니까? – Tudor

답변

1

변수를 0으로 설정해야합니다. 첫 번째 스레드가 실행될 때 변수의 값은 1으로 설정됩니다. 두 번째 스레드는 변수가 1으로 설정되기 전에 대기하고 2으로 설정하여 작업을 시작합니다. 그리고 세 번째 것에 대해서도 마찬가지입니다. mutex를 사용하여 변수 검사/설정을 동기화하십시오. 또한 변수를 확인하기 위해 타임 아웃이나 이벤트를 사용하는 것이 바람직합니다.

+0

예제를 보여줄 수 있습니까? –

+0

구문을 의미합니까? 나는 뮤텍스와 스레드를 C#에서 사용한 적이 없다. 난 그냥 그들이 다른 프로그래밍 언어에서 일하는 방법을 알고))) – superM

관련 문제