디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

형들 쓰레드 인데 과제좀 도와주세여 ㅠㅠ 아무리 봐도 모르겠음

살려주세요(1.210) 2012.04.04 21:19:27
조회 84 추천 0 댓글 2

<LI>실행방법 : % gcc -o thread2 thread2.c -lpthread
<LI>위에서 -lpthread가 무슨 의미인가 설명하시오.
<LI>위의 예제 프로그램 내에 있는 시스템호출 pthread_create(), pthread_join(), pthread_exit(), sleep()에 대하여 설명하시오, <LI>위의 프로그램의 내용을 설명하고, 실행결과에 대하여 논하시오.
<PRE>#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>

void* thread_function1(void*);
void* thread_function2(void*);

char msg[] = "Hello World";

int main() {
        int res;
        pthread_t a_thread;
        pthread_t b_thread;
        void* thread_result;

        res = pthread_create(&a_thread, NULL, thread_function1, (void*)msg);
        if(res != 0) {
                perror("Thread1 creation failed\n");
                exit(EXIT_FAILURE);
        }
        res = pthread_create(&b_thread, NULL, thread_function2, (void*)msg);
        if(res != 0) {
                perror("Thread2 creation failed\n");
                exit(EXIT_FAILURE);
        }

        printf("Waiting for thread1 to finish...\n");
        res = pthread_join(a_thread, &thread_result);
        if(res != 0) {
                perror("Thread1 join failed\n");
                exit(EXIT_FAILURE);
        }

        printf("Thread1 joined, it returend %s\n", (char*)thread_result);
        printf("Message is now %s\n", msg);

        printf("Waiting for thread2 to finish...\n");
        res = pthread_join(b_thread, &thread_result);
        if(res != 0) {
                perror("Thread2 join failed\n");
                exit(EXIT_FAILURE);
        }
        printf("Thread2 joined, it returend %s\n", (char*)thread_result);
        printf("Message is now %s\n", msg);

        exit(EXIT_SUCCESS);
}

void* thread_function1(void* arg) {
        int i,j;
        printf("thread_function1 is running. Argument was %s\n", (char*)arg);
        sleep(1);
        for(j=1;j<1000;j++)
        {
                printf("1 ");
                for(i=1;i<100000;i++);
        }
        printf("\n");
        strcpy(msg, "Bye thread1!");
        pthread_exit("Thank you Thread1 for the CPU time!");
}
void* thread_function2(void* arg) {
        int i,j;
        printf("thread_function2 is running. Argument was %s\n", (char*)arg);
        sleep(1);
        for(j=1;j<1000;j++)
        {
                printf("2 ");
                for(i=1;i<100000;i++);
        }
        printf("\n");
        strcpy(msg, "Bye thread2!");
        pthread_exit("Thank you Thread2 for the CPU time!");
}
</PRE>

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
309692 프로그래밍이란 뭔가 회의감이 든다... [3] 아...(14.42) 12.04.08 163 0
309691 이것 좀 봐주셈 ㅠㅠ프로그램 짜는거 namecard [4] 과제엿(119.204) 12.04.08 63 0
309690 형들 데이터베이스 질문좀요. [1] 플래닛댄스갤로그로 이동합니다. 12.04.08 66 0
309689 matlab으로 전계강도 구하는프로그램 ㅜㅜ [3] 아우 ㅜㅜ(175.205) 12.04.08 55 0
309688 s/w관리병 질문이요 GangMae갤로그로 이동합니다. 12.04.08 54 0
309686 AVR 이거 쭉 파면 나중에 뭐해먹고 삼? [2] Aven갤로그로 이동합니다. 12.04.08 112 0
309685 C언어 초본대 함수중에 글자 같은거 출력한거 지우는 함수 있나여? [5] 강원도(1.177) 12.04.08 94 0
309683 저 저기 .. 쉬운건데 이해가 잘안가서 그러는ㄷ ㅔ.. 이해시켜주세요 ㅠ [4] 코딩...?갤로그로 이동합니다. 12.04.08 73 0
309681 형들 객체지향 공부중인데 현실에서 객체가없는 클래스가 존재하나요 ? [6] 씨샵(122.34) 12.04.08 101 0
309677 중삐리에게 충고좀 해주세요 형님들 [6] 웃대눈팅족(118.221) 12.04.08 148 0
309676 디씨 형들 MFC 관련해서 뭐 하나만 알려줘 [3] 세달뒤면몸짱갤로그로 이동합니다. 12.04.08 63 0
309675 msys 이거 minGW도 깔았는데 컴파일 왜 안됨? [1] Grandlos갤로그로 이동합니다. 12.04.08 39 0
309674 횽들아 계산기 자바로 짜고잇는데/.. [1] 소보루빵갤로그로 이동합니다. 12.04.08 181 0
309673 소수판정할때 질문 [5] 항우(112.133) 12.04.08 74 0
309672 형들 c++ , 자바 공부 해야되는데 어떻게 시작하지 ?? 너무힘드러 [1] 데인티갤로그로 이동합니다. 12.04.08 42 0
309670 이 C++ 예제가 VS2008에서는 잘되는데 브레이크갤로그로 이동합니다. 12.04.08 37 0
309668 프로그래밍보다 디자인이 중요하다 무허(218.51) 12.04.08 65 0
309665 pow함수 쓰는법좀알려줘 ㅜ [2] 어렵네(175.123) 12.04.08 100 0
309664 횽드라 C 하는데 질문 [2] 종간이갤로그로 이동합니다. 12.04.08 52 0
309663 버스사의거리정보 받아오는게 그렇게,??? [2] 도와줘잉(203.237) 12.04.08 57 0
309659 형님들아 이거 스크립트 속도 오리는법좀 [1] ㅇㅇ(211.117) 12.04.08 56 0
309658 좋다.기분..야! 때릴꺼야?(116.40) 12.04.08 56 0
309657 리눅스 콘솔모드에서 파일 실행시키는것 관련 질문 [3] 티아고알베스(221.159) 12.04.08 47 0
309656 오오미 성님들 제꺼 소스가 안된당께요 [6] qw(1.217) 12.04.08 80 0
309655 완전 어이없네 [5] Grandlos갤로그로 이동합니다. 12.04.08 102 0
309654 공유기 쓰는 윈도우 아파치 서버 외부에서 접속하는 방법좀 알려주세요 [4] ?(115.21) 12.04.08 119 0
309653 while문에서 멈추지가 않아용 복학생(210.121) 12.04.08 47 0
309650 내가 요즘 프로젝트하면서 느낀건데 가모가모갤로그로 이동합니다. 12.04.08 59 0
309648 아놕 사는게 죄래.ㅋㅋㅋ [2] 생물학(175.119) 12.04.08 87 1
309647 전계강도 구하는 프로그램(매트랩). [1] 하아 ㅠㅠㅜ(175.205) 12.04.08 66 0
309646 미국에선 소프트웨어 엔지니어가 잘나간다는게 사실? [5] Lincredible갤로그로 이동합니다. 12.04.08 200 0
309644 디씨 분명히 탈퇴햇는데 [1] 갤로그로 이동합니다. 12.04.08 48 0
309640 정보보안이 쓰렉이라며 [1] dd(121.171) 12.04.08 168 0
309639 앱스토어랑 마켓이 개인에게 기업과 경쟁할 기회를 줫다는것에 대해 정말 [1] ㅋㅋ(218.37) 12.04.08 82 0
309638 혼자 C언어 공부하려는데 [3] 확장판갤로그로 이동합니다. 12.04.08 75 0
309637 c++ 연결리스트 사용해서 다항식연산을 구현하려고 하는데 롤롤(121.187) 12.04.08 46 0
309635 형들 c++에서 char형으로 읽은 문자가 숫자인지 알려면 어케행?? [3] 롤롤(121.187) 12.04.08 86 0
309634 자라 정수정•‿•갤로그로 이동합니다. 12.04.08 37 0
309633 형들 왜 실력이 안느는거지?.... [16] 자바초보(111.118) 12.04.08 169 0
309632 나 디씨 탈퇴햇거든? [1] 갤로그로 이동합니다. 12.04.08 48 0
309630 졸작으로 톡같은거 만들라고하는데 배워야할것좀 알려줘 ㅜㅜ [11] ㅁㄴㅇ(59.14) 12.04.08 173 0
309629 아 진짜 잊잉 개년 살려주셈 [15] 아시1발(211.214) 12.04.08 167 0
309628 자바 객체에 관해서물어볼께... [6] 늅늅이(59.14) 12.04.08 63 0
309627 ARM UART라이브러리 만드는데 [3] 마타버터갤로그로 이동합니다. 12.04.08 54 0
309626 매트랩 처음 해보는데요... 모르겠습니다 도와주실분..;; [5] 매트랩..(110.46) 12.04.08 88 0
309625 왜 안되는지 모르겠어요 존나 간단한거 + 조공 [9] 라솔갤로그로 이동합니다. 12.04.08 176 0
309624 얘들아 이거는 내 과젠데 좀 도와줘봐 [3] 니 코 가 뭐갤로그로 이동합니다. 12.04.08 74 0
309623 얘들아 근데 검색 알고리즘 뭐쓰냐? [6] 니 코 가 뭐갤로그로 이동합니다. 12.04.07 110 0
309621 c++해야되냐? [6] 대문자갤로그로 이동합니다. 12.04.07 126 0
309619 노트북 하나 사려는데 뭐가좋아여 형들? [5] 애슐리::그린갤로그로 이동합니다. 12.04.07 129 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2