Language/C
C - 리눅스 환경 thread 연습
ShinyOcean
2021. 6. 19. 17:28
안녕하세요 :)
이번 포스팅에서 다루어볼 내용은 Linux환경의 Thread운용입니다.
운영체제 카테고리를 통해 쓰레드에 대한 내용을 다루어 보았습니다. 스레드는 프로세스의 실행 패스를 분할하여 비동기식으로 프로그램은 운용하는 것인데요. 자바카테고리에서 프로젝트를 다루어 볼때도 스레드 클래스를 상속하여 사용하는 방식으로 운용해본 적이 있습니다. 이번에는 리눅스환경에서 pthread 라이브러리를 이용할것입니다. POSIXㅅ쓰레드 의 약어로, 유닉스 운영체제제 기반의 운영체제에서 사용할수 있는 기법입니다.
헤더파일로 pthead.h를 include 하고 라이브러리 내의 함수 pthread_create(), pthread_join(), abort()등을 사용합니다.
pthread_create(), 쓰레드를 만들때 사용
pthread_join(), 쓰레드가 종료될때 까지 기다림
abort(), 쓰레드 종료
위를 이용하여 메인문에서 5초 간격으로 4번의 출력문이 실행되고 1초간격으로 쓰레드에서 20번의 출력문이 실행되는 코드를 만들어 본다면 다음과 같습니다.
개발환경은 우분투 리눅스 20.04, gcc 컴파일러, vim 에디터 입니다.
실행결과는 다음과 같습니다.