[소켓네트워크] - 스레드(thread)
| 스레드(thread)
thread 무엇?
하나의 프로세스 내에서 동시에 실행되는 세부 작업의 단위
thread 장점?
응답성 향상, 자원의 공유(전역변수), 자원의 효율적 사용
thread 문제 발생 시 처리방법?
단 하나의 스레드만 실행할 수 있는 임계 영역(Critical Section)을 설정한다
thread 관련함수
- pthread_create() - 스레드 생성
pthread_create(스레드ID, 속성, 실행할 스레드 함수, 스레드 함수의 매개변수)
- pthread_join() - 서브 스레드가 종료 시까지 메인 스레드가 기다리는 함수
pthread_join(스레드ID, 스레드의 상태 리턴값)
- pthread_mutex_lock() ~ pthread_mutex_unlock()
한 번에 하나의 스레드에서만 실행하게 하는 Critical Section(임계영역)
- pthread_kill() - 스레드에게 신호를 전달하는 함수
pthread_kill(스레드ID, 신호)
- pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; 뮤택스 사용 위한 초기화 1
pthread_mutex_t mutex; pthread_mutex_init(&mutex, NULL); 뮤틱스 사용 위한 초기화 2
- pthread_mutex_destroy() - 뮤택스 해제
pthread_mutex_destroy(&mutex)
'소켓네트워크' 카테고리의 다른 글
[소켓네트워크] - strstr 이용한 욕 필터링 (0) | 2017.01.18 |
---|---|
[소켓네트워크] - string 관련 함수들 (0) | 2017.01.18 |
[소켓네트워크] - 시그널(signal) 처리 (0) | 2017.01.18 |
[소켓네트워크] - fork(), 좀비프로세스 (0) | 2017.01.18 |
[소켓네트워크] - setsockopt(브로드캐스팅 설정) (0) | 2017.01.18 |