2011-10-13 2 views
0

내 작업 C.스레드 동기화, 누구나 알고리즘을 줄 수 있습니까?

의 암호화 프로그램을 작성하는 것입니다

소스 파일 및 대상 file.My 프로그램이 필요가 소스 파일의 내용을 읽고,이를 암호화하고 파일을 대상으로 암호화 된 내용을 작성합니다.

내 프로그램에는 7 개의 스레드가 있습니다.

세 스레드 소스 파일을 한 라인 씩 읽어와 공유 버퍼 1로 파일 의 내용을 입력하는 스레드 그것을 암호화 공유 버퍼 (1)로부터 콘텐츠를 판독하고, 공유 된 버퍼 (2)에두고, 다른 세 스레드는 공유 된 버퍼 2에서 암호화 된 내용 을 읽고 대상 파일에 씁니다.

내 생각은 하나의 스레드가 소스 파일에서 읽거나 동시에 대상 파일에 쓸 수 있다는 것을 보장하기 위해 두 개의 mutice를 만드는 것입니다. 내 문제는 어떻게 공유 버퍼 1, 공유 버퍼 2 여러 스레드에 의해 액세스를 제어 할 수 있습니다. 나는 그것이 생산자/소비자 문제지만 더 복잡한처럼 종료 알아요. 누구든지 내게 조언 해 줄 수 있니? 미리 감사드립니다.

+0

이 숙제가 있습니까? – GWW

+2

@Gww - 그렇지 않으면 매우 바보 같은 방법입니다! –

+0

@MartinBeckett : 나는 같은 것을 생각하고 있었다. – GWW

답변

0

부스트 예제 인 here에는 뮤텍스, 공유 메모리 및 멀티 스레딩 통신에 대한 좋은 예가 있습니다.

이 예에서는 공유 메모리를 사용하여 하나의 트레드에서 메시지를 저장하고 다른 하나가 공유 메모리를 사용하여 공유 메모리에서 동시 액세스를 차단합니다. 스레드를 신청할 수 있습니다.

+0

내 스레드는 어디에서 신청할 수 있습니까? 또한, C를 지원합니까? – sehe

+0

C에 없지만 C 프로그램에서 이러한 개념을 사용할 수 있도록 연구 할 수 있습니다. –

관련 문제