From 1f517c94f5d7cdf6f5150bdc5dbbbf7d9a2d3548 Mon Sep 17 00:00:00 2001 From: BeomSooHeo <pung725@ajou.ac.kr> Date: Wed, 12 Aug 2020 18:38:12 +0900 Subject: [PATCH] Update thread.md --- thread/thread.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/thread/thread.md b/thread/thread.md index 3ba845f..db989c7 100644 --- a/thread/thread.md +++ b/thread/thread.md @@ -1,49 +1,50 @@ -# thread +# thread. 2020_08_12 ## 1. discription -Input: 사용자로부터 short형 정수 30개를 입력 받는다. +Input: 사용자로부터 short형 정수 30개를 입력 받는다. <br><br> -main function: - -Thread를 2개 생성하고 thread가 종료될 때까지 기다린다. +main function: pthread_create를 이용해 Thread를 2개 생성하고 thread가 종료될 때까지 기다린다. <br> +<br> Thread sth_1 : -전달받은 void 형 포인터를 short형 포인터로 변환한 후 +전달받은 void 형 포인터를 short형 포인터로 변환한 후<br> -포인터가 가리키는 배열의 모든 element의 총합과 - -이를 평균을 낸 결과를 출력한다. +포인터가 가리키는 배열의 모든 element의 총합과 이를 평균을 낸 결과를 출력한다.<br><br> Thread sth_2 : -전달받은 void 형 포인터를 short형 포인터로 변환한 후 +전달받은 void 형 포인터를 short형 포인터로 변환한 후<br> -bubble_sort를 통해 포인터가 가리키는 배열의 모든 element를 내림차순 정렬한 후 출력한다. +bubble_sort를 통해 포인터가 가리키는 배열의 모든 element를 내림차순 정렬한 후 출력한다.<br><br> ## 2. result - -[사진1] <br> + +<br><br> + pthread.h를 사용하기 위해서 gcc 컴파일시 -lpthread 링크 설정을 해주어야한다. -[사진2] -<br> +<br><br> +<br><br> 1부터 30까지 입력을 하였고, 입력이 제대로 이뤄졌는지 확인하기 위해 입력한 배열을 다시 출력하였고, 정상적으로 입력이 완료되었음을 확인할 수 있다. sth_1(첫번째 thread)은 입력값의 총합과 평균을 출력하고, -[사진3] -<br> +<br><br> + +<br><br> sth_2(두번째 thread)는 입력값을 높은 값부터 차례대로 내림차순 정렬하여 출력했다. +출력의 형식은 n번째 : value 의 의미이다. + 마지막으로, pthread_join을 이용하여 main thread는 child thread들이 종료될 때까지 기다리도록하게 했다. 따라서 thread의 종료 순서는 sth_1 -> sth_2 -> main thread 순이 되었다. \ No newline at end of file -- GitLab