프로그래밍 공부/기록노트

[운영체제] Pthread 자주 쓰는 자료형, 함수 모음

sh1256 2022. 10. 6. 01:31
728x90

리눅스 운영체제에서 가능 (윈도우X), #include <Pthread.h> 넣기!

 

1. 자료형

pid_t: process id

pthread_t : thread id

pthread_attr_t : set of thread attributes (쓰레드 속성)

 

2. 함수

int pthread_attr_init(pthread_attr_t *attr): thread attribute 객체인 attr를 디폴트 값으로 초기화 시킨다. attr 의 각 값은 pthread_attr_setattrname를 이용해서 재설정할수 있으며, pthread_attr_getattrname함수를 이용해서 가져올수 있다.

 

int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void*(start_routine)(void *), void *arg):
: 쓰레드 생성. 성공할 경우 0을 리턴

1st para는(pthread_t) 성공적으로 쓰레드가 생성되었을 때 생성된 쓰레드를 식별하기 위해 사용되는 쓰레드 식별자

2nd para(pthread_attr_t)는 쓰레드 특성을 지정하기 위해서.(기본은 NULL)

3rd para(start_routine)는 실행할 쓰레드 함수

4st para(*arg)는 3rd para 함수의 매개변수로 넘겨진다.

 

pthread_join(prhtead_t *thread, void **thread_return):

첫번째 매개변수(쓰레드)가 종료하기를 기다림.

두 번째 매개변수는 쓰레드의 리턴값

 

pthread_exit(void retval): 현재 실행중인 thread 종료

매개변수 retval은 pthread_join()에서 받아 씀.

 

getpid( ) : process id 반환, #include <unistd.h> 추가해 줘야 함.

pthread_self(): 현재 thread id 반환

 

이해를 위한 예제들

https://bitsoul.tistory.com/157

 

C언어: 쓰레드 pthread_create() 예제 - 쓰레드 생성 기본

C언어: 쓰레드 pthread_create() 예제 - 쓰레드 생성 기본 실행환경  OS ubnutu 14.04 LTS  컴파일러 gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 int pthread_create(pthread_t *thread, const pthread_attr_t..

bitsoul.tistory.com

https://m.blog.naver.com/whtie5500/221692793640

 

[C] pthread란? pthread예제

오늘은 pthread입니다! 아마 운영체제시간에 배울텐데요~ 저는 운영체제수업시간에 배웠거든요! 흠 오늘은 ...

blog.naver.com