E D R , A S I H C RSS

쓰레드에관한잡담

process scheduling .
1. real-time process - 1.hard real-time(), 2.soft real-time(vedio decoder 등)
2. time-sharing process


time-sharing .
Linux thread를 .
1. Kernel - 1. Kernel Thread, 2. LWT(Lightweight Thread)
2. User Thread


thread를 데, context switch를 른 thread .
Linux fork()는 내부 do_fork()란 Kernel 며, do_fork()는 내부 user thread POSIX Mutex를 .


... ... ... POSIX thread를 thread를 면 동.
. . .
... mutex 동... 미... 데는 lock 는데 변 context switch 냐.



... context switch PCB(Process Control Block) .
Assembly .
PCB process .
-> 만 Zombie Process 만 PCB .

~cpp 
void *thread(void *arg)
{
        int num = *(int *)arg;
        int i;

        for(i=1; i<=20; i++){
                pthread_mutex_lock(&mutex);
                printf("%d: sum+=%d\n", num, i);
                sum += i;
                sleep(1);
                pthread_mutex_unlock(&mutex);
        }
}

thread를 10     면,
  context switch  arg  바뀌는  .
arg는 0~9  몇몇   .

pthread_mutex_lock  면 arg는 0 .
  만 pthread 내부 .
명   arg  믿  . .

Critical Section 바뀌 .
. 는 문
argument .
function argument를 stack , stack 데. .
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:19
Processing time 0.0114 sec