운영체제 thread 실습
- 최초 등록일
- 2021.11.01
- 최종 저작일
- 2020.09
- 7페이지/ 한컴오피스
- 가격 2,000원
목차
1, 과제설명 ( 사용자 요구사항 기술: 과제에 대한 설명 및 목표 )
2, 사용자 요구사항을 정형적 방법으로 기술 (UML, Pseudo code, 그림등을 이용하여 기슬)
3. 알고리즘 및 자료구조 설계 내용
4. 소스코드 설명 ( 직접 작성한 소스코드중에 핵심 부분을 발췌하여 설명 )
5. 실행결과 및 설명 ( 실행 결과를 캡쳐하여 첨부한 후 설명 )
6. 고찰 ( 과제를 진행하면서 배운점 이나, 시행 착오 내용, 기타 느낀점 )
7. 전체 소스코드 ( 글자크기 9에 줄간격을 120%로 유지하고 한 줄이 너무 길지 않게 작성 )
본문내용
2, 사용자 요구사항을 정형적 방법으로 기술 (UML, Pseudo code, 그림등을 이용하여 기슬)
예제1 코드를 Dev를 이용하여 작성 후 동작 시켜보았습니다.
thread id를 배열형식으로 만들어서 pthread를 아이디와 넘겨줄 인자와 실행함수를 넣어
생성하였습니다. 값을 포인터 형식으로 받아 마지막 출력값을 main함수로 가져올 수 있도록
코드를 작성해 보았습니다. mutex를 이용하여 동기화문제를 해결해 보았습니다.
예제2 코드를 Dev를 이용하여 작성 후 동작 시켜보았습니다.
thread id를 배열형식으로 만들어서 pthread를 아이디와 넘겨줄 인자와 실행함수를 넣어
생성하였습니다. thread id를 2가지를 하여 서로 교차하여 하나씩 들어갈 수 있도록
하였고 thread가 종료시 값을 받을 수 있도록 대기함수를 작성하였습니다.
그 전에는 make를 이용해 c파일을 컴파일 하였다면 이번은 pthread가 들어가 있어
gcc –lpthread방식으로 컴파일 하였습니다. -lpthread가 없으면 pthread create와 join
함수를 인지하지 못하는 것을 한번 확인해보았습니다.
위 Dev와 같이 코드를 작성하였고 같은 방식으로 컴파일을 하였습니다.
실행결과 두 함수가 서로 들어가는 속도가 일정하지 않음을 확인하였고 그결과
중간에 동기화 문제가 생기는 것을 확인하였습니다.
3. 알고리즘 및 자료구조 설계 내용
동작을 실행할 함수코드 작성 -> main문에서 pthread create에 실행할 함수와 인자
thread id를 넣어 생성 후 실행 -> thread 종료시까지 기다려 값을 받아 출력 ->
동기화 문제를 mutex를 이용하여 해결 -> gcc –lpthread방식을 이용하여 컴파일 -> 확인
4. 소스코드 설명 ( 직접 작성한 소스코드중에 핵심 부분을 발췌하여 설명 )
pthread_t thread_id[2];
thread id를 배열형식으로 선언하였습니다.
참고 자료
없음