In this project, you will learn the basics of threading a process and how to work on the same memory space. You will learn how to make threads. You will discover the mutex, semaphore and shared memory.
threading a process (same memory space)
make threads.
mutex & semaphore (shared memory)
Introduction
Mandatory part
마이크로초(microsecond, μs)또는 마이크로세컨드는 백만 분의 1초를 가리키는 말
usleep 은 마이크로초
usleep(1) = 1 / 100 0000 ( 1,000,000)
= 0.000001
밀리초(millisecond, ms)는 천 분의 1초를 가리키는 말이다.
(10−3 초와 10−2 초 사이)[1][2]
10 밀리초는 센티세컨드(centisecond)라고 한다.
100 밀리초는 데시세컨드(decisecond)라고 한다.
sem_open함수는 POSIX 세마포어의 구분자로 동작하는 sem_t를 리턴한다.
이제부터 세마포어에 대한 동작이 이루어진다. 세마포어를 locking하는 방법은:
int sem_wait(sem_t *sem);
이 함수 호출은 세마포어 카운트가 0보다 큰 경우 세마포어를 lock한다. 세마포어를 locking한 후 카운트는 1만큼 감소한다. 세마포어 카운트가 0인 경우 함수 호출은 block된다.
세마포어를 unlocking하는 방법은
int sem_post(sem_t *sem);