프로젝트 의 C 스킬 트리

Mutex 를 사용한 멀티스레드 프린팅 동기화

초급

본 프로젝트에서는 mutex 를 사용하여 멀티스레드 환경에서 문자열 출력을 동기화하는 방법을 배우게 됩니다. 기존의 'Chaotic Typewriter' 프로그램을 수정하여 문자열이 글자 혼합 없이 올바른 순서로 출력되도록 합니다.

c

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

이 프로젝트에서는 멀티 스레드 환경에서 문자열 출력을 동기화하기 위해 뮤텍스 (mutex) 를 사용하는 방법을 배우게 됩니다. 기존의 "Chaotic Typewriter" 프로그램을 수정하여 문자열이 글자 혼합 없이 올바른 순서로 출력되도록 할 것입니다.

👀 미리보기

$ gcc printer.c -o printer -lpthread
$ ./printer
helloworld

🎯 과제

이 프로젝트에서 다음을 배우게 됩니다:

  • init() 함수에서 뮤텍스를 초기화하는 방법
  • printer() 함수에서 뮤텍스를 잠그고 (lock) 해제 (unlock) 하여 출력 프로세스에 대한 독점적인 접근을 보장하는 방법
  • 수정된 프로그램을 컴파일하고 실행하여 올바른 출력을 확인하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • 멀티 스레드 프로그램에서 공유 자원에 대한 접근을 동기화하는 데 있어 뮤텍스의 중요성을 이해합니다.
  • 뮤텍스 잠금 및 해제 기술을 적용하여 여러 스레드의 실행을 조정합니다.
  • 원하는 출력을 얻기 위해 멀티 스레드 프로그램의 문제를 해결하고 수정합니다.

강사

labby
Labby
Labby is the LabEx teacher.