LinuxUNIX Programming APUE Thread Programming IT vs Page
- Slides: 25
Linux/UNIX Programming APUE (Thread Programming) 문양세 강원대학교 IT대학 컴퓨터과학전공
단일 vs 다중 스레드 프로세스 Page 3 APUE (Thread Programming) Operating Systems by Yang-Sae Moon
주요 스레드 라이브러리 APUE (Thread Programming) Linux/Unix • POSIX Pthreads • Mach C-threads, Solaris Threads Windows: Win 32 Threads JVM: Java Threads (Thread class, Runnable interface) Page 6 UNIX System Programming by Yang-Sae Moon
Simple Example 1 (1/4) APUE (Thread Programming) v 스레드 기능: 1에서 n까지의 합을 구함 Page 8 UNIX System Programming by Yang-Sae Moon
Simple Example 1 (2/4) APUE (Thread Programming) Page 9 UNIX System Programming by Yang-Sae Moon
Simple Example 1 (3/4) APUE (Thread Programming) Page 10 UNIX System Programming by Yang-Sae Moon
Simple Example 1 (4/4) APUE (Thread Programming) v Page 11 UNIX System Programming by Yang-Sae Moon
Simple Example 2 (1/4) APUE (Thread Programming) 스레드 10개를 생성하고, 각각은 Hello world!를 출력함 Page 12 UNIX System Programming by Yang-Sae Moon
Simple Example 2 (2/4) APUE (Thread Programming) Page 13 UNIX System Programming by Yang-Sae Moon
Simple Example 2 (3/4) APUE (Thread Programming) Page 14 UNIX System Programming by Yang-Sae Moon
Simple Example 2 (4/4) APUE (Thread Programming) Page 15 UNIX System Programming by Yang-Sae Moon
Creating Threads – pthread_create() APUE (Thread Programming) #include <pthread. h> int pthread_create( pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); thread: 생성된 스레드의 식별자를 리턴할 변수 attr: 생성할 스레드의 속성 (default: NULL) start_routine: 스레드가 수행할 함수 arg: 스레드 함수에 주어질 argument Page 16 UNIX System Programming by Yang-Sae Moon
More Example 1 (1/3) APUE (Thread Programming) 동일 함수인데 서로 다른 메시지를 출력하는 두 개의 스레드 Page 17 UNIX System Programming by Yang-Sae Moon
More Example 1 (2/3) APUE (Thread Programming) Page 18 UNIX System Programming by Yang-Sae Moon
More Example 1 (3/3) APUE (Thread Programming) Page 19 UNIX System Programming by Yang-Sae Moon
Pthreads 동작 절차 APUE (Thread Programming) 앞서 두 개의 스레드가 생성되는 경우의 예제 Page 20 UNIX System Programming by Yang-Sae Moon
More Example 2 (1/3) APUE (Thread Programming) 네 개의 스레드가 다소 복잡한 수학 계산을 수행하는 예제 Page 21 UNIX System Programming by Yang-Sae Moon
More Example 2 (2/3) APUE (Thread Programming) Page 22 UNIX System Programming by Yang-Sae Moon
More Example 2 (3/3) APUE (Thread Programming) Page 23 UNIX System Programming by Yang-Sae Moon
데이터 공유와 동기화 APUE (Thread Programming) 스레드간 데이터 공유는 전역 변수(global variable)나 공유 메모리 (shared memory)를 사용하여 가능하다. 동기화는? • mutex, conditional variables, semaphore 등을 사용하여 해결한다. • 관심 있는 학생은 Linux System Programming(Robert Love)을 참조하세요. Page 24 UNIX System Programming by Yang-Sae Moon
Homework#13 APUE (Thread Programming) Page 25 UNIX System Programming by Yang-Sae Moon
- Unix
- Apue
- Apue
- S_isuid
- Apue
- Apa title format
- Components of system programming
- Linear vs integer programming
- Perbedaan linear programming dan integer programming
- Perbedaan linear programming dan integer programming
- Greedy vs dynamic programming
- Std::thread priority
- Thread a path
- What is thread in computer
- Thread like projections that are similar to tails
- Thread pool
- Golden thread
- Ue4 concurrency
- Multitasking in java
- Msdp forms
- Google thread sanitizer
- Thread computing
- Thread
- Paratech acme thread strut
- Upanayana ceremony steps
- Java thread life cycle