세마포어를 이용한 스레드 컨트롤 ..
글쓴이: Sailor_moon / 작성시간: 월, 2011/10/10 - 3:43오후
안녕하세요 ..자꾸 연달아 질문만 드려서 죄송합니다 ...
c 프로젝트를 하는중인데 ..로직이 맞는지 궁금하네요 ...
일방통행 다리에서 차량을 통제하는 프로그램을 만드는 중입니다.
각각 난수를 이용해 차량이 랜덤으로 생성되고 스레드를 각 차량에 할당? 합니다.
각각의 차는 다리에 진입권을 확보하려고 시도합니다.
스케쥴링을 하는데 ..
c3 , c2 , c1 - 다리 - c_h1, c_h2, c_h3
이런 구조입니다. 다리에는 최대 3대의 차량만 통과 가능하며, 마주오는 차가 있다면 진입이 안되게 해야합니다.
Semaphore
제가 생각한 방법은 ..
0.세마포어를 먼저 겁니다
state = sem_init(&bin_sem, 0 ,0); //set bin_sem as 0 * initialize semaphore as 0
1.차량의구조체 생성과 동시에 , 어느 방향인지를 보고, 해당하는 방향의 큐에 넣습니다.
2.생성하면서 쓰레드도 같이 만듭니다 ...
3.....
3번 부터가 문제인데 ...어떤식으로 진행시켜 나아가야 잘 짤 수 잇을까요 ?
너무 초보라 ..경험 풍부하신 여러분의 조언을 기다립니다 ...
Forums:
댓글 달기