본문 바로가기

linux41

스레드 동기화 API 스레드는 하나의 프로세스에서 나위어진 것으로 데이터를 공유할 수 있다. 여러 개의 스레드가 전역 변수에 접근하는 경우에 문제가 발생할 수 있는데 이것을 임계영역 (Critical Section)으로 볼 수 있다. 여기에서는 뮤텍스(mutex)를 사용하여 데이터 동시 접근 문제를 해결한다. 뮤텍스를 지원하는 pthread의 함수를 알아보자 #include int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr); int pthread_mutex_lock(pthread_mutex_t *mutex); int pthread_mutex_unlock(pthread_mutex_t *mutex); int pthread_mut.. 2009. 8. 9.
쓰레드를 사용해보자...ㅋㅋ 음...여기저기서 가져왓는대 어딘지 -_-;; 쓰레드를 이용하여 프로그램을 병렬적으로 작성할 경우 원하는 기능을 보다 빠르게 수행할 수 있다. 쓰레드 생성은 프로세스 생성에 비해 시스템 자원을 많이 소비하지 않고 가볍게 동작하기 때문에 네트워크 프로그래밍에서 다중 접속을 처리 할 때나 프로세서 내의 동일 작업을 병렬적으로 처리 할 때 많이 사용되는 기법이다. 쓰레드는 흔히 경량 프로세스, 세미 프로세스라 지칭하는데, 프로그램에서 수행하는 명령의 흐름을 동시에 처리하도록 하는 것이 가장 큰 특징입니다. 일반적으로 프로세스의 경우 프로그램 명령들이 단일적으로 혹은 순차적으로 처리되지만, 쓰레드를 사용하게 되면 프로그램 명령들을 병렬적으로 처리할 수 있기 때문에 매우 빠른 속도로 동작할 수 있게 됩니다. 예를.. 2009. 7. 28.
셸 프로그래밍 장점 : 셸의 경우 빠르고 간단하게 프로그래밍할 수 있다. 셸은 거의 대부분의 기본적인 리눅스 설치본에 항상 준비되어 있다. 2009. 7. 24.
gdb 디버깅 GDB를 이용한 디버깅 GNU 소스-레벨 디버거 Fifth Edition, for GDB version April 1998 Richard M. Stallman and Roland H. Pesch초벌 번역 : 정강훈 차례 GDB 개요 자유 소프트웨어 GDB 공헌자들 간단한 GDB 세션 GDB에 들어가고 나가기 GDB 실행 파일들 선택하기 모드 선택 GDB 종료하기 Shell 명령어들 GDB 명령어들 명령어 구문 명령어 완성 도움말 얻기 GDB에서 프로그램 실행시키기 디버깅을 위한 컴파일 프로그램 시작하기 프로그램 인자들 프로그램 환경 프로그램 작업 디렉토리 프로그램 들어가고 나가기 이미 실행되고 있는 프로세스 디버깅 자식 프로세스 죽이기 추가적인 프로세스 정보 다중 쓰레드인 프로그램 디버깅하기 다중 프로세.. 2009. 5. 5.