본문 바로가기

전체 글272

thread_exit(쓰레드에서 특정 값을 return을 시키자) 개발 환경 OS Ubuntu 18.04.2 컴파일러 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04) thread_exit(void *value)value값을 return 시켜준다.이 return 값은 join의 두번째 인자에서 받아온다. 소스코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445#include#include#include#include // thread functionvoid *thread_function(void * data){ // Thread가 return할 값 static int retval = 999; int count = *((int *) dat.. 2019. 5. 25.
pthread_detach(쓰레드 자원들을 분리시키자) 개발 환경 OS Ubuntu 18.04.2 컴파일러 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04) pthread_detach(pthread_t thread);일반적으로는 반납이 되지 않지만,pthread_join을 사용하면 모든 자원이 쓰레드가 종료되면 반납이 됩니다.하지만, detach() 한번 detach() 함수를 사용하면 join() 명령을 사용하지 않아도종료 시에 모두 반납이 됩니다. 소스코드 12345678910111213141516171819202122232425262728293031323334#include#include#include#include void *thread_function(void *data){ char a[1000000]; // 자원.. 2019. 5. 25.
pthread_join(쓰레드의 종료를 대기한다) 개발 환경 OS Ubuntu 18.04.2 컴파일러 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04) pthread_join(pthread_t thread, void ** return);(thread가 종료하기를 기다리다가 종료하면포인터를 리턴한다.) 첫번째 인자 : thread 객체두번째 인자 : NULL이 아니면 포인터 값을 return 받을 수 있다. 소스코드1234567891011121314151617181920212223242526272829303132333435363738#include#include#include#include // thread_function// 1초를 기다린 이후// 매개변수 * 매개변수를 return 한다.void *thread_fun.. 2019. 5. 25.
pthread_create 예제 (쓰레드 생성) 개발 환경 OS Ubuntu 18.04.2 컴파일러 gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04) int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); 첫번째 파라미터 : 쓰레드 식별자 두번쨰 파라미터 : 쓰레드 특성 (기본은 NULL) 세번째 파라미터 : 분기시켜서 실행하게 될 쓰레드 함수 네번째 파라미터 : 쓰레드 함수가 넘겨받을 매개변수 소스코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535.. 2019. 5. 25.
[Linux] [Ubuntu] 리눅스에서 현재 실행중인 프로세스 확인하기 Thread를 공부하면서 현재 실행 중인 프로세서와 사용 중인 자원들을 조회해야 할 때가 있는데 명령어는 다음과 같다. 1$ ps -aux | grep pthread | grep -v grep | grep -v vim; sleep 1;cs ※ 본 글은 개인 포트폴리오 혹은 공부용으로 사용하기 때문에, 무단 복사 유포는 금지하지만, 개인 공부 용도로는 얼마든지 사용하셔도 좋습니다 2019. 5. 25.
[C] pthread의 기본 구조와 함수들 기본적으로 프로그래밍에 있어서, 효율은 매우 중요하다.특히 우리가 컴퓨터를 하거나 스마트폰을 할 때음악을 들으면서, 검색을 할 수 있는 이유는 주어진 자원을 최대한 활용하기 때문인데이것이 가능한 이유는 Thread(쓰레드)가 가능하기 때문이다. 쓰레드는 매우매우 중요한데, 프로그램에 있어서 "쓰레드로 만들어지지 않은 프로그램은 쓰레기" 라는 말이 있을 정도이다. 주로, 우리는 쓰레드를 간단한 예제로 통신으로 구현을 한다.이유로는 코드 분량이 적고 가장 쓰레드의 특성을 잘 표현할 수 있기 때문이다. pthread 함수를 쓰기 위해 필요한 헤더 파일#include linux 상에서 컴파일을 하기 위해서는 반드시 -lpthread를 해주어야 한다. pthread의 함수들 int pthread_create(pt.. 2019. 5. 24.