feat: Initial commit
This commit is contained in:
28
Lab08/ex1.c
Normal file
28
Lab08/ex1.c
Normal file
@@ -0,0 +1,28 @@
|
||||
|
||||
int ticketNumber;
|
||||
int turnNumber;
|
||||
|
||||
int atomicIncrement (int *var) {
|
||||
int tmp = *var;
|
||||
*var = tmp + 1;
|
||||
return (tmp);
|
||||
}
|
||||
|
||||
void init() {
|
||||
ticketNumber = 0;
|
||||
turnNumber = 0;
|
||||
}
|
||||
|
||||
void lock() {
|
||||
int ticket = atomicIncrement(&ticketNumber);
|
||||
|
||||
while (ticket != turnNumber);
|
||||
|
||||
void unlock() {
|
||||
atomicIncrement(turnNumber);
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user