save from school

This commit is contained in:
Hugo LAMY
2022-01-20 15:45:49 +01:00
parent ac9d619731
commit 9a59f54641
4 changed files with 34 additions and 27 deletions

View File

@@ -4,34 +4,40 @@ options :
- t_die -> time_to_die
- t_eat -> time_to_eat
- t_slp -> time_to_sleep
- n_eat-> [number_of_times_each_philosopher_must_eat]
- n_eat -> [number_of_times_each_philosopher_must_eat]
```
thread :
**thread :**
- parts of a process that performs code simultaneously
- thread are light-weight-process (LWP) that happens inside a process (observe with command `ps -eLf`)
- a process can be single-threaded or multi-threaded
- different process have a different PID and different LWP, different thread in the same process have the same PID and different LWP
- thread vs process :
process :
*process :*
- process is isolated, it doesn't share memory with any other process
- process is less efficient in communication, it takes more times to create or terminate or switch
- process speed is not impacted by speed of other process (untill it reach the limit of cpu)
thread :
*thread :*
- thread are not isolated, they share memory with the other threads
- thread is more efficient in communication, it takes less times to create or terminate or switch
- thread can become slow if the process does many concurrent tasks
- ressources :
- https://www.baeldung.com/linux/process-vs-thread
mutex :
**mutex :**
- mutual exclusion
- to prevent a part of the code to be performed simultaneously by threads
- the section of code wraped by a mutex can be access by only one thread at a time
- the section starts by unlocking a mutex, and end by locking it
external function :
**external function :**
- `memset` : fill memory with a constant byte
- `printf` : format and print data