*pthread_create 함수 사용
- 목적 : 쓰레드를 추가로 생성해서 각 쓰레드에 업무를 분산하여 동작.
- 방법
1. 헤더파일 추가
#include <pthread.h>
2. 파일에 함수 추가.
int pthread_create( pthread_t *th_id, const pthread_attr_t *attr, void* 함수명, void *arg );
ex)
pthread_t thread;
void *thread_Picture(void *arg);
pthread_create(&thread, NULL, &thread_Picture, NULL)
함수 인자값의 의미는 다음과 같다.
pthread_t thread; <- thread 번호를 저장할 변수공간이라고 하는데, 출력하기가 어렵다.
NULL : attributes. 정확히 몰라서 NULL을 입력했다.
void *thread_Picture(void *arg); <- 스레드가 생성되면서 동작할 함수.
NULL : argument. 정확히 몰라서 NULL을 입력했다.
성공적으로 스레드를 생성하면 0을 return한다.
3. 컴파일
이후 빌드를 할 때 -D_REENTRANT -lpthread 옵션을 추가로 써서 컴파일을 진행한다.
ex)
${CC} ${OBJ} -o ${NAME} ${LIBS}
==> ${CC} ${OBJ} -o ${NAME} ${LIBS} -D_REENTRANT -lpthread
참고사항
- ps -ax 명령어를 사용해도 PID는 같은 값이 나온다. 그렇다 하더라도 서로 다른 상황에서 돌아가고 있으므로 헷갈리지 말자.
- pthread 함수를 정리한 사이트 방문하여 좀 더 살펴볼 필요가 있음
'IT관련 지식들' 카테고리의 다른 글
가변인자를 사용한 매크로 (개인용 printf) (0) | 2016.06.16 |
---|---|
usleep함수 사용. (0) | 2016.06.15 |
VIM 설정 저장 (0) | 2016.06.14 |
버추얼박스 해상도 문제 (0) | 2016.06.10 |
우분투 64bit에서 32bit 패킷이 동작하지 않을 때. (0) | 2016.06.10 |